- 浏览: 2112235 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ratlsun:
想请教下uc最新版本在android4.2和4.3版本上是不是 ...
UC浏览器8.3 (for iPhone)设计理念.“無”为而设 -
gly0920sky520123:
很有用哦,谢谢
DOS命令大全(经典收藏) -
chenyu0748:
UC加油,花哥加油~
UC浏览器8.3 (for iPhone)设计理念.“無”为而设 -
cnliuyix:
LZ搞点更有层次的吧,介个一般工程里根本用不到这么简单的。Si ...
Android 设计一个可单选,多选的Demo -
gang4415:
rgz03407@163.com
JSR规范,系统参数测试大全
- 介绍
v$t4w6\?3 本章中,我们来学习如何使用 KJava API 进行 GUI 开发。首先看一下 KJava GUI 开发的介绍,然后使用 KJava API 开发我们的第一个 J2ME 应用程序。HelloWorld ,将示范一个使用 CLDC 的简易 J2ME 应用程序、KJava 简表以及 Palm 操作系统的 KVM。Android J2ME "S6g+b N+I|6Xe#Z
在下一章我们继续进行 KJava GUI 开发,构建另一个应用程序并重点学习事件处理模块。
- Spotlet 介绍
"yNgP6i[c{3 KJava API 提供了一套开发 Palm 操作系统设备应用程序的类。KJava 提供了一个 Spotlet 类,com.sun.kjava.Spotlet,它和 J2SE Canvas 类在添加用于事件处理的回调方法上类似。因此,应用程序可以扩展 Spotlet 类,不使用合适的事件处理方法也可提供需要的功能。 Android J2ME /W;O/^Z;U3P
应用程序可以创建并使用多个 spotlets 来显示不同的窗口。就像使用 J2SE Canvas(一个负责画出自身以及放置在其上的 GUI 控件的 spotlet)一样。 Android J2ME 4MEmO;R9x.g
在我们的两个 KJava 示例中,都将使用 Spotlet 类。这两个示例中一个是很快就看到的 HelloWorld 应用程序,另一个是 Scribble 应用程序,后者将在使用 KJava 事件处理的开发这一章中构建。
- KJava 应用程序 HelloWorld
5R9hZGR T_MC"pT;{3 这个应用程序将在屏幕中央显示 "Hello World!" 和一个 Exit 按钮,按下后即终止该应用程序。HelloWorld.java 开始时使用下面的几行代码导入将在后面的 HelloWorld 类中使用的类:
g*h8o/p8KU({u3 Android J2ME R8P"D Q ])}
import com.sun.kjava.Button;
E'S&NV4E#b+Y3 import com.sun.kjava.Graphics;
F(s_d)?3 import com.sun.kjava.Spotlet;Android J2ME 2m|,cT!vv
下面的代码行将 HelloWorld 类定义为扩展 Spotlet:
nv5uY^+cq3
$@*m0I*]!q3 public class HelloWorld extends Spotlet
A�b&cX+D3 请记住 Spotlet 类提供用于处理事件的回调功能。在这个简单的示例中,我们只对一个事件感兴趣,即用户何时按下 Exit 按钮。下一个代码行存储对 Exit 按钮的引用: Android J2ME 6f9DhPH9}@:P�f{%nc
qe}$I_E3 private static Button exitButton;
v�f\ wmX'LW3 如同在 J2SE 中一样,main() 方法定义程序的主要入口点。对于 J2ME 应用程序,main 也定义了入口点。在本例中,main() 创建了一个新的 HelloWorld 类的实例,它运行我们的应用程序。 Android J2ME 2BbF4_O
0lK5{I}:?F4{G3 public static void main(String[] args)Android J2ME @/a(B2A2i|'y~T
{Android J2ME T'~5K`kb
(new HelloWorld()).register(NO_EVENT_OPTIONS);
s:d"eb8c@p3 }
i"Va^*`b{c3 下一个代码块定义了构造程序。在构造程序中,我们首先创建一个 Button 并为其加上 "Exit" 标签。按钮起初是不可见的。当我们得到对图形 对象的引用后,此按钮成了一个可画的屏幕,先清屏然后在屏幕中央画出文本 "Hello World!"。最后,我们在屏幕上添加 Exit 按钮。 Android J2ME R6R-AG;m/K?s\ b
\\Qn+r l~:{]3 public HelloWorld()
%e@STOK3 {Android J2ME P.p!H,d []S
// Create (initially invisible) the "Exit" buttonAndroid J2ME t?|Hd:e�~'V
exitButton = new Button("Exit",70,145);
+c2Re~.?@|q3
jk*l6t7l"We3 // Get a reference to the graphics object;Android J2ME p~w2Xq
// i.e. the drawable screenAndroid J2ME &ZrL|9dh4B
Graphics g = Graphics.getGraphics();Android J2ME /[(YafZZC
g.clearScreen();
^L_;z\|wl j&t9VW3 Android J2ME 9Dz!g`/hhMh
// Draw the text, "Hello World!" somewhere near the center
uSB:A}N3 g.drawString("Hello World!", 55, 45, g.PLAIN);Android J2ME dUGfB%B8g
// Draw the "Exit" button
!G:xu4uh�pRw�X#x3 exitButton.paint();
Oq;VD_EOS3 }Android J2ME 0D v*Hu&_
最后,我们定义 penDown 事件处理程序,用来简单地检查 Exit 按钮是否被按下。如果已按下,就退出应用程序。 Android J2ME E6hy^U6}^2T
Android J2ME iM-~'lPjG
public void penDown(int x, int y)Android J2ME T` r&[T~T
{
^x5QC1wZ'p3 // If the "Exit" button was pressed, end this application
EQ%Tx*E8o;Z3 if (exitButton.pressed(x,y))Android J2ME s-f&q.D;V2xG tM
System.exit(0);
W,{|L-@3 }
- HelloWorld -- 完整的代码清单
-kL8fAU3 以下便是 Palm 设备的 HelloWorld 应用程序的完整代码示例:
~$H3ln:bqTY3 Android J2ME $QN2l#H9m&dX'n7V8U
import com.sun.kjava.Button;
w w5C:U0r%r#K(V;L~*Gk3 import com.sun.kjava.Graphics;Android J2ME (GqH/ZSx3V S
import com.sun.kjava.Spotlet;
)?}:H)S#a/jH0m3 Android J2ME @8E}/d5wTBj&cd3UcW
/**Android J2ME b/G*xR1oW#T#Uz1?
* Simple demonstration, "Hello World" program. Note that Spotlet is
3j`F3iqp0p3 * the class that provides callbacks for event handling.Android J2ME UKg a:eowp
*/
D$^`i-k y-j e|ZT&B3 public class HelloWorld extends SpotletAndroid J2ME &` F.feYq6u"B0Z
{
rOFHL4tdnD Q3 /** Stores a reference to the "Exit" button. */Android J2ME h%Kam0sFw I0~0iw4{0p
private static Button exitButton;Android J2ME &Vq[CbF%{Sm _c(O
/**
&f5q0\%v,PgR3 * Main entry point for this program.Android J2ME .Jq%bYcn
*/Android J2ME 5p[spa!W!@7^-O`�w
public static void main(String[] args)Android J2ME 0h8r @6J"_1L
{Android J2ME i0L)w,sY| @"pw
(new HelloWorld()).register(NO_EVENT_OPTIONS);Android J2ME &k!jIt�~'Nz�X
}
mo0S1u)_!KE6S3 /**Android J2ME y]gv ~\$J5o
* Constructor: draws the screen.
)T(L |[Cp3 */
0rky4p]9|3 public HelloWorld()
V8p~sS8~#Ss3 {
^x3zI;c,k)?|mb-W3 // Create (initially invisible) the "Exit" buttonAndroid J2ME *Cjc9KMcV N
exitButton = new Button("Exit",70,145);
aQvfqE&@3
R5T(c&F#ca\�t3 // Get a reference to the graphics object;
f|k o4} E3 // i.e. the drawable screenAndroid J2ME Z'm!Xq|
Graphics g = Graphics.getGraphics();Android J2ME 0HI0xR?G+Y
g.clearScreen();Android J2ME 9H5F;Q|T!|Zy
sZ/^ m8K[?S4V^3 // Draw the text, "Hello World!" somewhere near the center
%hz!s}�H5V5l7`$Y3 g.drawString("Hello World!", 55, 45, g.PLAIN);
sh;Z|C%F3
_#R2XS1l8sH0e6s3 // Draw the "Exit" button
nE1iR9\3[u9TE3 exitButton.paint();
Spi9La g3 }Android J2ME `OA_9D2Cm{a
/**Android J2ME 'GQdz!p/U-d
* Handle a pen down event.Android J2ME !B I,r6W0z\
*/Android J2ME 3B hjaU3f
public void penDown(int x, int y)
g9`+c8?x;Jq'gu d"dc3 {Android J2ME (ZGmwVLF
// If the "Exit" button was pressed, end this application
l~*r F ?(Go+gy3 if (exitButton.pressed(x,y))Android J2ME L0t2Ll zDA8g
System.exit(0);
!e2x"x}KgL*a3 }Android J2ME _ RD,@v9B
}
- KJava GUI 组件
R,n3Qj)}V.a3 除 Spotlet 类之外,KJava API 还定义了一些基础 GUI 组件。下面列出了由 KJava 提供的一些更基础 GUI 组件。注意它们与 J2SE AWT 同名组件的相似性。
2U,r%|d~n%q"@0py3 · Button -- 定义了一个简单的 GUI 按钮。按钮可以包含文本标签如 "OK" 或 "Cancel",也可以包含位图图象。
gV']Z ]2E;zFq3 Android J2ME .F2X9F?-Q:C
· Checkbox -- 定义了一个 GUI 复选框组件,它可以是已选中的,也可以是未选中的。
XA%R9@;hF:Hf U3
Q Et?vfYG?:AI3 · Dialog -- 定义了一个弹出式、模式对话框,包含标题、文本字符串和一个 "Dismiss" 按钮。Android J2ME 7r2J`fY%olb
· Graphics -- 这个类和其 J2SE 姊妹版很类似,提供各种绘图的方法。Android J2ME e"|ar-f
8n'Age8h2eg3 · RadioButton -- 定义了一个有两个状态的单选按钮。通常被用作一组使用 RadioGroup 对象分组的 radio 按钮的一部分,在某一时刻只能使用一个。Android J2ME 'u r(}xg%q8?%n
} OX9h;K'a$L;AC"V3 · RadioGroup -- 代表一组单选按钮,在某一时刻只能有一个处于开着或选中状态。Android J2ME k!UZ},Y/}i
Android J2ME .]b8V mpi.Wq
· ScrollTextBox, SelectScrollTextBox -- 定义了一个带滚动条的文本框组件,用户可在该组件中输入多行文本。它和 J2SE TextArea AWT 组件功能相似。Android J2ME (tQd8V2Lr}$N
Android J2ME qx_Xy$Y
· Slider -- 定义了一个图形化滑块,使用该组件,用户可以沿着刻度尺拖动标志来选择一个值。
/Syl5`_k8A9b)y%?3
nB1~:q` Y3 · TextBox -- 定义了一个基本的文本框,但仅用于显示少量文本。对于大量文本,请使用 ScrollTextBox。Android J2ME c8aGv~C/I/C*C
· TextField -- 定义了一个文本框提供给用户进行输入。与 J2SE TextField AWT 组件相似。
3w/Vn0p \3
h/D"HFy!r"G(M I3 · ValueSelector -- 一个接受用户输入的整型值的 GUI 组件。用户可以选择 "+" 来递增该值,也可以选择 "-" 来递减该值。
- 其它的 KJava 类
Android J2ME &n^$Eg
f["`$nN3I;|
KJava 定义了一些附加的类。在早期的开发工作中很少用到它们,但是它们的用处还是很值得一提的,因为说不定今后开发时就会用到它们。 Android J2ME RkoL,`
· Bitmap -- 表示一个黑白两色的位图图象。
#j z;G7V#k(l(X T\3 Android J2ME O1yr!x"Eb b
· Caret -- 仅被 TextField 使用。(API 文档指出这个类可能是 TextField 类私有的)。Android J2ME ([2`)t,hYnqt
^)d{2J�qi8j_3 · Database -- 给 Palm 操作系统数据库管理器提供一个接口。Android J2ME Vk(A^5W8@
!C;x~}IWIX!z3 · DialogOwner -- 由希望显示模式对话框的类使用的接口。Android J2ME 4V"qy|G_0E
Android J2ME 1Rx:i+g{:Y
· HelpDisplay -- 定义了一个简单的帮助对话框。
6_5h;MM ?U/vR a7N S3 Android J2ME #g%g&WDw$g4D3D}
· IntVector -- 并不是真正意义上的 GUI 组件,该类提供一个可扩展的整型矢量,很象 java .util.Vector。Android J2ME l)|!nj2cF*K
· List -- 并不是真正意义上的 GUI 组件,它是另一个代表一列对象的帮助类,就象java.util.Vector。Android J2ME *beo^6P3Ja9~D{E
Android J2ME n:V5f;n'g1sWsD i
· ScrollOwner -- ScrollTextBox 使用的类。Android J2ME Pe2T;AKw
5dB5E/}tV3d{ IN3 · VerticalScrollBar -- 定义了一个垂直滚动条组件。
发表评论
-
汉字点阵字库原理
2011-01-28 10:09 3383一、 汉字编码 1. ... -
如何通过改jad和Manifest把其它手机的java游戏改成N830的
2011-01-25 10:21 1358首先要明确一点,不是所有的游戏都能改的。 <200 ... -
索爱手机IMSI序列号获取
2011-01-20 11:29 1956国际移动用户识别码(I ... -
J2ME数组的复制及连接操作
2010-11-19 10:47 1266public class Arrays { /** ... -
手机 J2ME MIDP 性能测试工具(MIDP BenchMark)
2010-11-19 10:35 1459JavaME Test Suitehttp://www.dog ... -
SocketConnection 参数详细介绍
2010-03-23 11:34 2132请大家看下面的代码: len = is.read(gDat ... -
J2ME使用Socket通过cmwap接入点访问安全HTTPS
2010-03-17 16:36 484这个问题是在我升级J2ME版XHTML浏览器的时候被引入的 ... -
一些很特别的J2ME开源项目(转
2010-03-11 09:43 2356StrutsME 一个轻量级的序列化协议,使J2ME客户端能调 ... -
WMLC 检查charset编码
2009-12-16 15:27 180http://www.iana.org/assignments ... -
Eclipse快捷键
2009-12-01 10:38 1416编辑相关快捷键 Eclipse的编辑功能非常强大,掌 ... -
改善你的J2ME程序界面-使用开源UI库
2009-09-03 16:45 3697J2ME自带UI不是太美观,使用起来也不太方面,为了解决这 ... -
LZW数据压缩算法的原理分析【转】
2009-08-05 19:31 2569转一篇好文章, 原文地址:http://www.cnblog ... -
<a> 标签,target="blank",target="_blank" 的区别。
2009-05-27 13:00 11550在编写html代码的时候。 target="bla ... -
贡献 高效的MIDlet 编程
2009-05-23 15:32 1900从网上找到这本资料。 是E文版的。 大家顺便锻炼下E文 -
How to use pop-up TextBox in Java ME
2009-05-23 13:44 1772Overview One of the Displayabl ... -
How to use freely resizable font in in Java ME
2009-05-23 13:41 1332Contents [hide] 1 Overview 2 ... -
A Simple Ordered Hashtable
2009-05-23 12:08 1555This article illustrates how to ... -
开发NokiaS40系列应用程序初级篇
2009-05-22 18:56 1718本文讲述如何搭建Nokia S40系列手机应用程序的开发环境 ... -
索尼爱立信手机在 J2ME 程序中的字体大小
2009-05-18 16:25 1344之前有朋友问到索尼爱立信手机在 J2me 程序中的字体大小,请 ... -
If-Modified-Since & If-None-Match
2009-05-13 11:01 14548google告诉网站站长:您 ...
相关推荐
通过阅读文档,我们可以了解开发者如何将游戏规则转化为代码,如何组织类和方法,以及如何利用Java GUI组件创建交互式的用户界面。 总的来说,这个项目是一个很好的学习资源,可以帮助我们掌握Java GUI编程的基本...
在IT行业中,Java语言因其跨...虽然现代移动开发更倾向于使用Android或iOS平台,但了解KJava的历史和原理可以帮助我们理解移动技术的发展历程,并且对于研究早期移动应用的开发者来说,这些示例代码仍然具有参考价值。
Java Swing是Java GUI(图形用户界面)开发的重要库,它提供了丰富的组件来构建桌面应用程序。在Swing中,日历组件对于处理日期选择和显示是非常有用的。以下将详细讲解四种不同的Java Swing日历组件及其应用。 1. ...
Kjava是一个基于KVM的开发工具,提供了GUI组件和事件处理机制。 ```java import com.sun.kjava.*; public class HelloKjava extends Spotlet { private static Button OKButton; public static Graphics g = ...
Kjava库提供了一些额外的GUI组件,如CheckBox、RadioButton、List等,以及Spotlet类,用于处理事件和Palm OS特定的输入机制。 以下是一个简单的使用Kjava库展示文本和按钮的示例代码: ```java import ...
总的来说,基于Java开发的2048游戏源码展示了Java在游戏开发中的强大能力,包括数据结构(如二维数组)、算法(如数组遍历和移动合并)、随机数生成以及GUI编程。通过理解并实践这个源码,开发者不仅可以提升Java...
它提供了基础的Java类库,包括I/O、网络编程、多线程、集合框架、Swing GUI组件等,是J2EE和J2ME的基础。 J2ME(Java 2 Platform, Micro Edition)是针对嵌入式设备和移动设备的Java平台。它的目标是低内存、低性能...
【Java学生信息管理系统...总结,这个Java学生信息管理系统项目旨在提升开发者在Java GUI编程和数据库应用方面的技能,通过实际操作,理解并应用面向对象设计原则和软件工程流程,从而为未来更复杂的系统开发奠定基础。
KJava GUI组件开发 KJava是J2ME中的图形用户界面(GUI)开发工具,其组件如Choice、TextBox、Form等,可以帮助开发者构建丰富的交互式界面。学习如何使用这些组件并熟练掌握布局管理,是提升用户体验的关键。 ### ...
本课程设计以电脑上常见的蜘蛛纸牌游戏为蓝本,利用Java语言构建游戏的核心功能,包括纸牌的操作(移动、放置、回收、重发),并借助javax.swing包提供的图形用户界面(GUI)组件来实现友好的用户交互。 1. 系统...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
J2ME开发通常使用KJava编译器和Sun Microsystems提供的Wireless Toolkit (WTK)或NetBeans等集成开发环境(IDE)。WTK包含了一个模拟器,使得开发者能够在没有实际设备的情况下测试应用程序。理解如何配置和使用这些...
标题 ...javaswing_plan42k_" 是一个利用Java Swing开发的银行应用程序项目,涉及到GUI设计、事件处理、数据管理、用户交互等多个方面,对开发者来说,需要掌握扎实的Java基础和Swing API使用技巧。
3. 事件监听:为GUI组件添加事件监听器,如ActionListener,处理用户的点击事件。 四、发布与运行 1. 打包与部署:项目完成后,使用Java的jar打包工具将源码打包成可执行的jar文件,或者使用IDE的打包功能生成可...
【标题】"KIJ-chat:聊天应用程序开发任务、使用 C 的服务器以及 GUI" 在这个项目中,我们关注的是构建一个聊天应用程序,它包含了客户端和服务器端的实现,主要使用C语言编写服务器部分,并且具备图形用户界面(GUI...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...