麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

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

2019-11-18 16:21:07
字體:
供稿:網(wǎng)友

  第七章:使用Kjava GUI組件的開發(fā)

介紹

本章中,我們來學(xué)習(xí)如何使用 KJava API 進(jìn)行 GUI 開發(fā)。首先看一下 KJava GUI 開發(fā)的介紹,然后使用 KJava API 開發(fā)我們的第一個 J2ME 應(yīng)用程序。HelloWorld ,將示范一個使用 CLDC 的簡易 J2ME 應(yīng)用程序、KJava 簡表以及 Palm 操作系統(tǒng)的 KVM。

在下一章我們繼續(xù)進(jìn)行 KJava GUI 開發(fā),構(gòu)建另一個應(yīng)用程序并重點(diǎn)學(xué)習(xí)事件處理模塊。

Spotlet 介紹

KJava API 提供了一套開發(fā) Palm 操作系統(tǒng)設(shè)備應(yīng)用程序的類。KJava 提供了一個 Spotlet 類,com.sun.kjava.Spotlet,它和 J2SE Canvas 類在添加用于事件處理的回調(diào)方法上類似。因此,應(yīng)用程序可以擴(kuò)展 Spotlet 類,不使用合適的事件處理方法也可提供需要的功能。

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

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

KJava 應(yīng)用程序 HelloWorld

這個應(yīng)用程序?qū)⒃谄聊恢醒腼@示 "Hello World!" 和一個 Exit 按鈕,按下后即終止該應(yīng)用程序。HelloWorld.java 開始時使用下面的幾行代碼導(dǎo)入將在后面的 HelloWorld 類中使用的類:

import com.sun.kjava.Button;

import com.sun.kjava.Graphics;

import com.sun.kjava.Spotlet;

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

public class HelloWorld extends Spotlet

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

PRivate static Button exitButton;

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

public static void main(String[] args)

{

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

}

下一個代碼塊定義了構(gòu)造程序。在構(gòu)造程序中,我們首先創(chuàng)建一個 Button 并為其加上 "Exit" 標(biāo)簽。按鈕起初是不可見的。當(dāng)我們得到對圖形對象的引用后,此按鈕成了一個可畫的屏幕,先清屏然后在屏幕中央畫出文本 "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 按鈕是否被按下。如果已按下,就退出應(yīng)用程序。

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 設(shè)備的 HelloWorld 應(yīng)用程序的完整代碼示例:

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 還定義了一些基礎(chǔ) GUI 組件。
下面列出了由 KJava 提供的一些更基礎(chǔ) GUI 組件。注意它們與 J2SE AWT 同名組件的相似性。

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

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

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

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

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

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

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

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

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

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

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

 

其它的 KJava 類

KJava 定義了一些附加的類。在早期的開發(fā)工作中很少用到它們,但是它們的用處還是很值得一提的,因?yàn)檎f不定今后開發(fā)時就會用到它們。

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

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

· Database -- 給 Palm 操作系統(tǒng)數(shù)據(jù)庫管理器提供一個接口。

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

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

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

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

· ScrollOwner -- ScrollTextBox 使用的類。

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

(出處:http://www.companysz.com)



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 性欧美视频在线观看 | 国产精品久久久久久久久久东京 | 成人做爰高潮片免费视频韩国 | 黄wwww| 久色成人网 | 国产精品视频久 | 九九热在线精品视频 | 91成人在线免费视频 | 欧美一级黄色网 | 欧美大逼网 | 亚洲黑人在线观看 | 斗罗破苍穹在线观看免费完整观看 | 亚洲第一男人天堂 | 538在线精品| 九九视屏 | 日本成人一区二区 | 午夜av男人的天堂 | 一级美女大片 | 99精品视频在线免费观看 | 亚洲最大的成人网 | 电影一级毛片 | 欧美一级黄色免费 | 一区二区三区黄色 | 欧美成人精品一区二区三区 | 久久国产精品一区 | 久久最新网址 | 99精品在线免费 | 福利一区二区三区视频在线观看 | 黄色片免费看网站 | 午夜视频免费播放 | 黄色片视频免费观看 | 欧美国产免费 | 国产精品麻豆91 | 亚洲一区二区中文 | 精品国产一区二区三区免费 | 久久丝袜脚交足黄网站免费 | 男女羞羞视频在线免费观看 | av中文字幕免费在线观看 | 日本xxxx色视频在线观看免费, | 91精品国产乱码久久久久久久久 | 成人午夜在线观看视频 |