亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

J2ME入門-(7)使用KjavaGUI組件的開發

2019-11-18 16:21:07
字體:
來源:轉載
供稿:網友

  第七章:使用Kjava GUI組件的開發

介紹

本章中,我們來學習如何使用 KJava API 進行 GUI 開發。首先看一下 KJava GUI 開發的介紹,然后使用 KJava API 開發我們的第一個 J2ME 應用程序。HelloWorld ,將示范一個使用 CLDC 的簡易 J2ME 應用程序、KJava 簡表以及 Palm 操作系統的 KVM。

在下一章我們繼續進行 KJava GUI 開發,構建另一個應用程序并重點學習事件處理模塊。

Spotlet 介紹

KJava API 提供了一套開發 Palm 操作系統設備應用程序的類。KJava 提供了一個 Spotlet 類,com.sun.kjava.Spotlet,它和 J2SE Canvas 類在添加用于事件處理的回調方法上類似。因此,應用程序可以擴展 Spotlet 類,不使用合適的事件處理方法也可提供需要的功能。

應用程序可以創建并使用多個 spotlets 來顯示不同的窗口。就像使用 J2SE Canvas(一個負責畫出自身以及放置在其上的 GUI 控件的 spotlet)一樣。

在我們的兩個 KJava 示例中,都將使用 Spotlet 類。這兩個示例中一個是很快就看到的 HelloWorld 應用程序,另一個是 Scribble 應用程序,后者將在使用 KJava 事件處理的開發這一章中構建。

KJava 應用程序 HelloWorld

這個應用程序將在屏幕中央顯示 "Hello World!" 和一個 Exit 按鈕,按下后即終止該應用程序。HelloWorld.java 開始時使用下面的幾行代碼導入將在后面的 HelloWorld 類中使用的類:

import com.sun.kjava.Button;

import com.sun.kjava.Graphics;

import com.sun.kjava.Spotlet;

下面的代碼行將 HelloWorld 類定義為擴展 Spotlet:

public class HelloWorld extends Spotlet

請記住 Spotlet 類提供用于處理事件的回調功能。在這個簡單的示例中,我們只對一個事件感興趣,即用戶何時按下 Exit 按鈕。下一個代碼行存儲對 Exit 按鈕的引用:

PRivate static Button exitButton;

如同在 J2SE 中一樣,main() 方法定義程序的主要入口點。對于 J2ME 應用程序,main 也定義了入口點。在本例中,main() 創建了一個新的 HelloWorld 類的實例,它運行我們的應用程序。

public static void main(String[] args)

{

(new HelloWorld()).register(NO_EVENT_OPTIONS);

}

下一個代碼塊定義了構造程序。在構造程序中,我們首先創建一個 Button 并為其加上 "Exit" 標簽。按鈕起初是不可見的。當我們得到對圖形對象的引用后,此按鈕成了一個可畫的屏幕,先清屏然后在屏幕中央畫出文本 "Hello World!"。最后,我們在屏幕上添加 Exit 按鈕。
public HelloWorld()

{

// Create (initially invisible) the "Exit" button

exitButton = new Button("Exit",70,145);

// Get a reference to the graphics object;

// i.e. the drawable screen

Graphics g = Graphics.getGraphics();

g.clearScreen();

// Draw the text, "Hello World!" somewhere near the center

g.drawString("Hello World!", 55, 45, g.PLAIN);

// Draw the "Exit" button

exitButton.paint();

}

最后,我們定義 penDown 事件處理程序,用來簡單地檢查 Exit 按鈕是否被按下。如果已按下,就退出應用程序。

public void penDown(int x, int y)

{

// If the "Exit" button was pressed, end this application

if (exitButton.pressed(x,y))

System.exit(0);

}

HelloWorld -- 完整的代碼清單

以下便是 Palm 設備的 HelloWorld 應用程序的完整代碼示例:

import com.sun.kjava.Button;

import com.sun.kjava.Graphics;

import com.sun.kjava.Spotlet;

/**

* Simple demonstration, "Hello World" program. Note that Spotlet is

* the class that provides callbacks for event handling.

*/

public class HelloWorld extends Spotlet

{

/** Stores a reference to the "Exit" button. */

private static Button exitButton;

/**

* Main entry point for this program.

*/

public static void main(String[] args)

{

(new HelloWorld()).register(NO_EVENT_OPTIONS);

}

/**

* ConstrUCtor: draws the screen.

*/

public HelloWorld()

{

// Create (initially invisible) the "Exit" button

exitButton = new Button("Exit",70,145);

// Get a reference to the graphics object;

// i.e. the drawable screen

Graphics g = Graphics.getGraphics();

g.clearScreen();

// Draw the text, "Hello World!" somewhere near the center

g.drawString("Hello World!", 55, 45, g.PLAIN);

// Draw the "Exit" button

exitButton.paint();

}

/**

* Handle a pen down event.

*/

public void penDown(int x, int y)

{

// If the "Exit" button was pressed, end this application

if (exitButton.pressed(x,y))

System.exit(0);

}

}

 

KJava GUI 組件

除 Spotlet 類之外,KJava API 還定義了一些基礎 GUI 組件。
下面列出了由 KJava 提供的一些更基礎 GUI 組件。注意它們與 J2SE AWT 同名組件的相似性。

· Button -- 定義了一個簡單的 GUI 按鈕。按鈕可以包含文本標簽如 "OK" 或 "Cancel",也可以包含位圖圖象。

· Checkbox -- 定義了一個 GUI 復選框組件,它可以是已選中的,也可以是未選中的。

· Dialog -- 定義了一個彈出式、模式對話框,包含標題、文本字符串和一個 "Dismiss" 按鈕。

· Graphics -- 這個類和其 J2SE 姊妹版很類似,提供各種繪圖的方法。

· RadioButton -- 定義了一個有兩個狀態的單選按鈕。通常被用作一組使用 RadioGroup 對象分組的 radio 按鈕的一部分,在某一時刻只能使用一個。

· RadioGroup -- 代表一組單選按鈕,在某一時刻只能有一個處于開著或選中狀態。

· ScrollTextBox, SelectScrollTextBox -- 定義了一個帶滾動條的文本框組件,用戶可在該組件中輸入多行文本。它和 J2SE TextArea AWT 組件功能相似。

· Slider -- 定義了一個圖形化滑塊,使用該組件,用戶可以沿著刻度尺拖動標志來選擇一個值。

· TextBox -- 定義了一個基本的文本框,但僅用于顯示少量文本。對于大量文本,請使用 ScrollTextBox。

· TextField -- 定義了一個文本框提供給用戶進行輸入。與 J2SE TextField AWT 組件相似。

· ValueSelector -- 一個接受用戶輸入的整型值的 GUI 組件。用戶可以選擇 "+" 來遞增該值,也可以選擇 "-" 來遞減該值。

 

其它的 KJava 類

KJava 定義了一些附加的類。在早期的開發工作中很少用到它們,但是它們的用處還是很值得一提的,因為說不定今后開發時就會用到它們。

· Bitmap -- 表示一個黑白兩色的位圖圖象。

· Caret -- 僅被 TextField 使用。(API 文檔指出這個類可能是 TextField 類私有的)。

· Database -- 給 Palm 操作系統數據庫管理器提供一個接口。

· DialogOwner -- 由希望顯示模式對話框的類使用的接口。

· HelpDisplay -- 定義了一個簡單的幫助對話框。

· IntVector -- 并不是真正意義上的 GUI 組件,該類提供一個可擴展的整型矢量,很象 java.util.Vector。

· List -- 并不是真正意義上的 GUI 組件,它是另一個代表一列對象的幫助類,就象java.util.Vector。

· ScrollOwner -- ScrollTextBox 使用的類。

· VerticalScrollBar -- 定義了一個垂直滾動條組件。

(出處:http://www.49028c.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产成人久久综合一区| 国产精品国产三级国产aⅴ浪潮| 亚洲精品欧美日韩专区| 欧美激情视频一区二区三区不卡| 最新69国产成人精品视频免费| 国内伊人久久久久久网站视频| 欧美极品少妇与黑人| 亚洲国产欧美一区二区三区久久| 国产精品一区二区三区成人| 插插插亚洲综合网| 色一情一乱一区二区| 欧美日韩一区二区在线播放| 久久久人成影片一区二区三区观看| 91在线观看免费高清| 国产97色在线| 成人久久久久久| 91久久久久久久久久久| 国产精品男女猛烈高潮激情| 欧美一区二区视频97| 国产日韩在线看| 韩国视频理论视频久久| 日韩av在线精品| 日韩成人激情在线| 久久久久久久久久国产| 日韩欧美在线视频观看| 久久久久久久久国产| 亚洲成人av在线| 高清亚洲成在人网站天堂| 亚洲曰本av电影| 久久99精品久久久久久琪琪| 国产美女主播一区| 亚洲国产天堂网精品网站| 国产美女91呻吟求| 亚洲精品国产品国语在线| 91精品国产高清久久久久久91| 久久久伊人欧美| 最近日韩中文字幕中文| 亚洲国产成人av在线| 夜夜嗨av色综合久久久综合网| 久久久视频精品| 国产一区二区三区精品久久久| 国产精品直播网红| 欧美国产第一页| 欧美在线视频观看免费网站| 国产日韩一区在线| 亚洲午夜国产成人av电影男同| 久久久久免费精品国产| 国产精品久久久久久久久久小说| 中文字幕国产日韩| 国产在线999| 国产一区二区久久精品| 欧美亚洲另类在线| 最近2019年日本中文免费字幕| 国产精品入口尤物| 色在人av网站天堂精品| 久久视频在线视频| 欧美日韩第一页| 欧美性猛交xxxxx免费看| 欧美成aaa人片免费看| 国产精品三级美女白浆呻吟| 亚洲精品国产精品国自产观看浪潮| 久热精品视频在线观看一区| 91视频九色网站| 色狠狠久久aa北条麻妃| 久久精品视频在线| 456国产精品| 久久久久久国产三级电影| 亚洲欧美在线免费| 亚洲综合中文字幕在线观看| 日韩中文在线中文网在线观看| 97视频在线看| 91免费人成网站在线观看18| 日本伊人精品一区二区三区介绍| www高清在线视频日韩欧美| 日韩成人性视频| 日韩在线欧美在线| 91精品久久久久久久久不口人| 亚洲综合在线中文字幕| 精品国产区一区二区三区在线观看| 精品久久久在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 久久久中文字幕| 92裸体在线视频网站| 精品国产福利在线| 中文字幕国内精品| 另类色图亚洲色图| 久久久久久久久久久久久久久久久久av| 成人精品一区二区三区电影免费| 欧美精品九九久久| 欧美高清在线播放| 欧美高清一级大片| 久久精品国产亚洲一区二区| 国产视频久久久| 中文字幕在线国产精品| 国产精品极品尤物在线观看| 亚洲丝袜一区在线| 亚洲人在线视频| 日av在线播放中文不卡| 久久激情五月丁香伊人| 国产精品久久国产精品99gif| 夜夜躁日日躁狠狠久久88av| 91国内产香蕉| 精品二区三区线观看| 一区二区三区四区精品| 欧美日韩性视频| 97超级碰碰碰久久久| 2019最新中文字幕| 欧美理论在线观看| 国产成人精品久久亚洲高清不卡| 日韩av有码在线| 国模精品一区二区三区色天香| 日韩av日韩在线观看| 91精品国产色综合| 日韩欧美第一页| 亚洲伊人久久大香线蕉av| 久久91精品国产91久久久| 国产精品免费一区| 日韩美女视频免费看| 日韩精品免费在线视频观看| 精品调教chinesegay| 国产精品黄色影片导航在线观看| 日韩精品极品视频| 国产精品777| 欧美夫妻性生活视频| 精品久久香蕉国产线看观看亚洲| 日韩美女激情视频| 尤物精品国产第一福利三区| 精品国产999| 国产中文欧美精品| 日韩精品在线观看一区| 97国产精品视频| 国模精品视频一区二区三区| 日韩成人在线视频观看| 欧美日韩一二三四五区| 成人激情免费在线| 国产视频福利一区| 91国产在线精品| 久久在线观看视频| 国产一区红桃视频| 亚洲成人999| 亚洲成人在线网| 日韩精品在线播放| 久热精品视频在线免费观看| 精品视频在线播放免| 亚洲欧美国产视频| 欧美日韩色婷婷| 国产精品精品视频一区二区三区| 在线精品视频视频中文字幕| 亚洲成人av中文字幕| 欧美一区二区大胆人体摄影专业网站| 97色伦亚洲国产| 欧美在线一区二区三区四| 欧美亚洲午夜视频在线观看| 欧美精品videosex极品1| 成人免费在线视频网址| 国产精品久久久久久久久久东京| 色伦专区97中文字幕| 久久久久久久一区二区三区| 欧美国产日本高清在线| 疯狂做受xxxx高潮欧美日本| 久久免费精品视频| 亚洲欧美日韩一区二区在线| 国产日韩欧美电影在线观看| 韩国19禁主播vip福利视频|