J2ME+中文API

合集下载

J2ME手机游戏开发引擎的分析与设计

J2ME手机游戏开发引擎的分析与设计

哈尔滨工业大学摘要J2ME游戏引擎的主要作用就是根据用户的设定辅助生成一些J2ME代码框架,用户只需要去实现对应的处理函数就可以完成自己设计的游戏。

这样就可以合理重复利用已经编写好的游戏代码,做到保证游戏质量的同时尽力提高开发速度。

本文简单描述了我设计的J2ME手机游戏引擎的基本功能,同时对“WeRun”俱乐部来开发这样一个引擎的可行性做了技术和市场方面的分析。

在这些分析和设计的基础上,对整个开发流程做了初步的计划,归纳了可能用到的设计模式和基本类结构。

通过本文,让读者对J2ME 手机游戏引擎这个项目有一个概念上较为清楚的认识,同时也对于项目组的开发工作具有积极的导向作用。

关键词J2ME;手机游戏;游戏引擎- I -哈尔滨工业大学(威海)软件学院AbstractThe main function of this J2ME mobile game engine is assisting the programmers to generate some J2ME game’s frameworks according to the parameters that they set. The only thing that users have to do is accomplishing the handling functions to finish their games. So that the programmer can reasonably reuse the codes which have been written and program quickly as well as make sure the high quality. The paper mainly describes the basic functions of a common J2ME mobile game engine. And finish the feasibility analysis for the WeRun club to develop this engine. On the basis of the analysis and the design, I make a primary plan of the develop process, conclude the design pattern and class structure that will be used in the project. Through this paper, I want to make the reader have a clear awareness of the J2ME mobile game engine. To the programmers, it can guide them to develop the engine.Keywords J2ME;Mobile phone games;The game engine- II -哈尔滨工业大学(威海)软件学院目录摘要 (I)Abstract (II)第1章绪论 ......................................................................... 错误!未定义书签。

跟我学J2ME手机应用开发——JMIDlet用户界面系统API

跟我学J2ME手机应用开发——JMIDlet用户界面系统API

1.1跟我学J2ME手机应用开发——JMIDlet用户界面系统API1.1.1MIDlet用户界面系统API1、MIDP用户界面设计的特殊性(1)MIDlet中的用户界面的组件已经经过全新设计在J2SE平台中提供有友好的AWT或SWING用户界面。

而在开发MIDlet中,用户界面的组件已经经过全新设计。

因为移动通信设备无论在内存、操作界面、显示屏幕以及电力供应上都是很有限,远比不上台式计算机,这样需要对MIDlet的用户界面包进行专门优化,以达到资源效率的最佳优化,由此就产生了LCDUI(limited configuration device UI)用户界面包。

(2)MIDP之所以不支持已有的GUI类如AWT和Swing主要是因为AWT原本是为台式机设计的,而且AWT中的许多功能对于移动设备并不必要。

例如,在AWT中提供有大量的功能来支持窗口管理。

然而对于显示尺寸受限的手持设备来说,伸缩(resizing)窗口是不切实际的。

因此AWT中的窗口与布局(layout)管理器对于手持设备来说是显得很累赘,而AWT的事件处理模式对CPU能力与内存大小都有限的移动设备来说,更是不堪重荷。

基于上述原因,MIDP放弃了对J2SE原有的GUI类的支持,并针对移动设备而重新定义了新的UI包——javax.microedition.lcdui包。

2、MIDP UI系统包J2ME和界面编程相关的API都位于javax.microedition.lcdui包中。

并且抽象基类为Displayable,它有两个一级子类Screen(封装高级界面API)和Canvas(封装低级界面API)。

从结构中我们可以看到,Displayable是所有用户界面组件的超类。

从Displayable中分出两个分支一个是Screen,另一个是Canvas。

前者是高级图形用户界面的超类,后者是低级图形用户界面的超类。

首先我们来看高级图形用户界面,Screen的四个子类分别是TextBox,List,Alert和Form。

《手持移动设备J2ME应用开发》第4章

《手持移动设备J2ME应用开发》第4章
<MTSE1.0>
4.1.1Display类的常用函数
Displayable中MIDP1.0就定义的函数有: boolean isShown() void addCommand(Command cmd) void removeCommand(Command cmd) void setCommandListener(CommandListener l) Displayable中MIDP2.0新添加的函数有: String getTitle() public void setTitle(String s) Ticker getTicker() public void setTicker(Ticker ticker) public int getWidth() public int getHeight() protected void sizeChanged(int w,int h)
处理高级别事件
所谓的高级别事件,就是指在处理高级界面上的控件时候 需要处理的事件。每一个高级界面的Dislayable对象都有 一个相应监听器,该监听器用来监听控件是否已经被触发 了相关的事件。本小节仅仅介绍Command对象的事件开 发,其他控件的事件开发将结合相关小节的具体内容再进 行详细介绍。 要处理按钮高级别事件,程序必须继承一个命令监听器接 口类CommandListener类,具体操作如下所示: public class HelloWorld extends MIDlet implements CommandListener{ }
<MTSE1.0>
按钮、菜单编程基础
在介绍事件开发之前首先了解基本的Command(命令)编 程。Midlet的javax.Microedition.lcdui包提供了一个命令 Command类,用来进行屏幕上按钮的相关开发, Command对象既可以显示为一个与键盘特定键相关联的 按钮,又可以作为屏幕菜单的一个菜单项。由于手机程序 功能有限,因此并没有提供像Windwos程序一样的菜单控 件,而是当屏幕需要显示多个按钮的时候,自动生成一个 菜单供用户选择使用。 创建一个新的Command对象需要调用Command对象的构 造函数,构造函数的的语法如 下所示: new Command(Labels,Type,Priority);

第1章-J2ME简介

第1章-J2ME简介


J2ME的体系结构
1.2.1.1 配置(Configuration)

配置规范定义了某一类设备上都适用 的Java虚拟机功能特性和Java 类库的最小集 合(核心类库)。不同配置的分类主要基于 以下几个方面的考虑:内存、显示、网络连 接和处理能力。目前可用的配置有两种:
CDC(Connected Device Configuration,连接
1.2.2 J2ME的标准化工作


J2ME实际上是一系列规范的集合,由Java Community Process (Java社区组织,简称JCP)制 定并发布相关的Java规范请求(Java Specification Request,简称JSR),各个厂商按照规范在自己 的产品上进行实现,但是必须要通过TCK (Technical Compatible Kit,兼容性测试包)测试 来确保兼容性。 有关J2ME的配置、简表和可选包都是通过JCP来定 义的,并最终以JSR来发布。
设备配置):电视机顶盒、网络电视、可视电话 等。 CLDC( Connected Limited Device Configuration ,连接有限设备配置):手机、双 向寻呼机、PDA等。



对配置的定义有三条: 一是规定所支持的Java编程语言特征; 二是规定所支持的Java虚拟机特征; 三是规定所支持的基本Java类库和API。

CDC支持设备的典型例子有电视机顶盒、支 持Internet的可视电话、高端的无线通信设备 以及汽车导航等。
CDC类库
CDC类库是支持虚拟机CVM所需要的API最 小集合,它包含J2SE中用构建和运行虚拟机 的最小集合Java包。 此外, CDC还包含了一个额外的软件包: javax.microedition.io,它包含了CLDC中定 义的所有相同的类和接口。

第1章-J2ME简介

第1章-J2ME简介

(1)MIDP API ) (2)OEM Specific API 2)
用Java编写程序的最大优点是可以一 编写程序的最大优点是可以一 次编写,随处运行。 次编写,随处运行。
1.2 J2ME应用介绍 J2ME应用介绍 1.2.1 J2ME手机游戏 J2ME手机游戏
如同Internet的普及导致网络游戏的高 的普及导致网络游戏的高 如同 速发展一样, 速发展一样,手机的普及导致手机游戏市 场呈现爆炸式的发展, 场呈现爆炸式的发展,随着手机性能的增 强,在未来几年里对手机游戏开发的需求 将大幅上涨。 将大幅上涨。
1.1.2
J2ME与Java体系结构 ME与Java体系结构
J2EE、J2SE和 图1-1 J2EE、J2SE和J2ME 的应用领域
1.1.3
JVM、CVM和KVM介绍 JVM、CVM和KVM介绍
Java 程序是以边解释边执行的方式运 行的,所有的Java 程序都会被编译成为二 行的,所有的 进制代码并运行在Java虚拟机上(J2EE、 虚拟机上( 进制代码并运行在 虚拟机上 、 J2SE 中的 中的Java 虚拟机简称为 JVM)。 )。
也就是说, 也就是说,J2ME 先把所有的嵌入式 装置利用Configuration 的概念区隔成两种 装置利用 抽象的型态。 抽象的型态。
1.1.5
MIDP介绍 MIDP介绍
J2ME 使用配置(CDC或CLDC)和 使用配置( 或 ) 简表( 简表(Profile)定制运行时环境(Java )定制运行时环境( Runtime Environment,Java,JRE)。 , , )。
其实这并不矛盾, 其实这并不矛盾,因为这些就是在相 关规范中制定的。 关规范中制定的。
1.1.1

Java常用术语及解释

Java常用术语及解释

Java常⽤术语及解释Java常⽤术语及解释(更新中.....) 在Java编程中,常常⽤到⼀些专业术语或缩写,这些术语往往是看起来似曾相识,只记得在哪⾥见过却记不得意味着什么。

这种感觉对诸多萌新程序员来说就格外的不友好,特此在这⾥整理了⼀些⾃⼰在⼯作中遇到的以及⽹上诸多⼤佬收集的术语,希望能对各位有所帮助。

⼀.Java SE 、Java EE、 Java ME(1) Java SE (Java Platform, Standard Edition) -标准版本:J2SE 包含那些构成Java语⾔核⼼的类。

⽐如:数据库连接、接⼝定义、输⼊/输出、⽹络编程(2) Java EE (Java Platform,Enterprise Edition) -企业版本:J2EE 包含J2SE 中的类,并且还包含⽤于开发企业级应⽤的类。

⽐如:EJB、servlet、JSP、XML、事务控制(3) Java ME (Java Platform,Micro Edition) -微型版本:Java ME ⼜称为 J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌⼊式消费电⼦设备提供的Java语⾔平台,包括虚拟机和⼀系列标准化的Java API。

J2ME 包含J2SE中⼀部分类,⽤于消费类电⼦产品的软件开发。

⽐如:呼机、智能卡、⼿机、PDA、机顶盒⼆.JRE 与 JDKJRE: Java运⾏环境JRE 是 Java Runtime Environment 缩写,指Java运⾏环境,是Sun的产品。

运⾏JAVA程序所必须的环境的集合,包含JVM标准实现及Java核⼼类库JDK: Java开发⼯具(包含JRE)JDK 是 Java 语⾔的软件开发⼯具包,主要⽤于移动设备、嵌⼊式设备上的java应⽤程序。

JDK是整个java开发的核⼼,它包含了JAVA的运⾏环境(JVM+Java系统类库)和JAVA⼯具。

GameAPI(一):游戏画布、图层、精灵.pdf

GameAPI(一):游戏画布、图层、精灵.pdf

3/6
《J2ME 程序设计》之 GameAPI(一)游戏画布、图层、精灵
【例题4】 public class MIDlet4 extends MIDlet { private MyGameCanvas mgc = new MyGameCanvas(); private Display dis; protected void startApp() throws MIDletStateChangeException { dis = Display.getDisplay(this); dis.setCurrent(mgc); } class MyGameCanvas extends GameCanvas implements Runnable{ private boolean RUN = true; private Random rnd = new Random(); private Graphics gra; private Sprite s1; private Image img; public MyGameCanvas(){ super(true); gra = this.getGraphics(); try{ img = Image.createImage("/img1.png"); }catch(Exception ex){ex.printStackTrace();} s1 = new Sprite(img); s1.paint(gra); //将s1画在界面上 new Thread(this).start(); } public void run(){ while(RUN){ try{ gra.setColor(255,255,255); gra.fillRect(0,0,this.getWidth(),this.getHeight()); s1.move(1, 0); s1.paint(gra); //将s1画在界面上 this.flushGraphics(); Thread.currentThread().sleep(100); }catch(Exception ex){} } } } } 【例题5】 import java.util.Random; public class MIDlet5 extends MIDlet { private MyGameCanvas mgc = new MyGameCanvas();

手机游戏开发趋势和J2ME API相关概览

手机游戏开发趋势和J2ME API相关概览

手机游戏开发趋势和J2ME API相关概览注:本文原作者是德州大学奥斯汀分校的博士研究生Michael Yuan,他在本文中畅谈J2ME和手机应用程序。

目前,他领导构建一系列针对Nokia开发者平台的计划项目。

-----------------------------------------------------------------------纵观整个IT产业的发展史,电脑游戏已经成为技术创新背后的一股强大的驱动力。

电脑游戏玩家渴望更强的硬件运算能力;迫切于拓展各种软件的界限——从引人注目的图形到人工智能(AI),再到网络安全。

游戏开发者和玩家往往是采纳前沿计算机技术的先锋。

因为其创新本质,游戏才不致于沦为被几个大型外包企业所掌控的科技产品。

有才能的独立创意人在这片领域总有大片生存发展空间。

随着技术不断提升游戏体验,游戏市场还会继续成长壮大。

IT行业革命节省了我们的时间和资金,从而延长了我们的工作时限;同时,我们把更多的时间和资金花在游戏上,从而提升了生命的总体质量。

即使是在当前的经济困难大背景之下,游戏行业依然保持迅猛的增长势头,仍然是赢利的产业部分。

Java开发者不应忽视其巨大的机遇所在。

而在IT行业的其他部分,游戏业的新贵应属手机游戏。

手机游戏已经将许多原本不可能的行业参与者汇聚在一起,这些参与者包括:传统企业(如美国的太阳微系统公司的新游戏部门)、设备制造商(如诺基亚的游戏手机和美国高通公司的无线二进制运行环境设备)和网络经营商(如英国的沃达丰公司的信息服务)。

因为Java2平台,Micro Edition (J2ME)正兴起成为最受广泛支持的手机游戏平台之一,作为Java开发者,我们也应该积极适应这个有利可图的新产业部门。

在本文,我将从Java开发者的角度解读手机游戏面临的机遇与挑战;同时,我还根据几项重要的J2ME技术规范对艺术手机的Java技术做出几点概述。

手机游戏特征手机游戏的商业号召力来自其广泛的影响力。

计算机相关专业毕业设计外文翻译--移动设备的应用平台—J2ME简介

计算机相关专业毕业设计外文翻译--移动设备的应用平台—J2ME简介

附件1:外文资料翻译译文移动设备的应用平台—J2ME简介1.什么是J2ME:J2ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。

根据Sun的定义:J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。

J2ME 技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。

J2ME在设计其规格的时候,遵循着对于各种不同的装置而造出一个单一的开发系统是没有意义的事」这个基本原则。

于是J2ME 先将所有的嵌入式装置大体上区分为两种:一种是运算功能有限、电力供应也有限的嵌入式装置(比方说PDA 、手机);另外一种则是运算能力相对较佳、并请在电力供应上相对比较充足的嵌入式装置(比方说冷气机、电冰箱、电视机上盒(set-top box))。

因为这两种型态的嵌入式装置,所以Java 引入了一个叫做Configuration 的概念,然后把上述运算功能有限、电力有限的嵌入式装置定义Connected Limited Device Configuration(CLDC)规格之中;而另外一种装置则规范为Connected Device Configuration(CDC)规格。

也就是说,J2ME 先把所有的嵌入式装置利Configuration 的概念区隔成两种抽象的型态。

其实在这里大家可以把Configuration 当作是J2ME 对于两种类型嵌入式装置的规格,而这些规格之中定义了这些装置至少要符合的运算能力、供电能力、记忆体大小等规范,同时也定了一组在这些装置上执行的Java 程序所能使用的类别函式库、这些规范之中所定义的类别函式库为Java 标准核心类别函式库的子集合以及与该型态装置特性相符的扩充类别函式库。

J2SE J2EE J2ME的简介和区别

J2SE J2EE J2ME的简介和区别

J2SE /J2EE/J2ME简介和区别随着Internet网络的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性。

于是就相继出现了RPC/COM/CORBA等技术,但这些技术在实际应用中存在着许多不足和局限。

它们的特定协议难以通过防火墙,因而不适于Web上的应用开发。

为了进一步开发基于Web的应用,出现了Sun公司的Sun ONE (Open Net Environment 开发网络环境)和Microsoft公司的.NET等Web 服务技术体系。

Sun ONE体系结构以Java语言为核心,包括J2SE/J2EE/J2ME和一系列的标准、技术及协议。

它包括Sun独有的iPlanet软件系列,其中有在市场上受欢迎的LDAP目录服务器软件,以及Forte for Java——便于在任何环境下书写Java 语言的软件工具。

我们很容易就能从网上免费获得和使用包括Java 集成开发环境、Java数据库和中间件(Application Server)服务器等产品,以及它们的源代码。

Sun ONE更接近或能满足互联网在智能化Web服务方面对分布性、开发性和平台无关性的要求。

随着Java技术的不断发展,它根据市场进一步细分为:针对企业网应用的J2EE (Java 2 Enterprise Edition)、针对普通PC应用的J2SE(Java 2 Standard Edition)和针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)三个版本。

本文就Sun ONE的Java核心应用——J2SE/J2EE/J2ME作一些介绍。

J2EE技术应用J2EE是Sun公司推出的一种全新概念的模型,比传统的互联网应用程序模型更有优势。

J2EE模型J2EE的应用编程模型(J2EE Blueprints)提供了一种用于实施基于J2EE多层应用的文档和实例套件的体系模型,简化了这项复杂的工作。

j2me高级用户界面

j2me高级用户界面

display=Display.getDisplay(this);//this是当前midlet对象,获取摄像

获取Display的实例之后,应用程序可以通过Display类的方法改变设备上 显示的Displayable对象。在Display类中,有3个方法可让应用程序设置设备上当 前显示的Displayable对象实例。 public void setCurrent(Displayable nextdisplayable) public void setCurrent(Alert alert,Displayable nextdisplayable)
public class Test_Midlet extends MIDlet {
Display display;//声明定义Display的实例变量
public Test_Midlet() { super();
display = Display.getDisplay(this);//获取当前对象的摄像
传入true时,返回的是描绘高亮度边线时所用的笔触;传入false时,返回 描绘边线时所用的笔触,结果只有可能是Graphics.SOLID或Graphics.DOTTED两种 Display类在高层组件中还提供了getBestImageWidth和 getBestImageHeight方法来获取最佳尺寸。 public int getBestImageWidth(int imageType) public int getBestImageHeight(int imageType)
第三章:高级用户界面
4:高级屏幕对象分为两个范畴:
1:封装了复杂的用户界面组件的屏幕对象(例如:List,Alert或者 TextBox)。这些屏幕类的结构是定义好的,应用程序不能在这些屏幕对象上添加 其他组件。

j2ee、j2se、j2me的区别

j2ee、j2se、j2me的区别

j2ee j2se j2me区别Java演化出3个不同的应用平台:J2SE (Java 2 Platform Stand Edition) java 的标准版,是基础,用来做桌面程序开发的;J2EE (Java 2 Platform Enterprise Edition ) java企业版本,定义一系列的服务,API,协议等,使用与开发分布式,多层式,以组件为基础,以Web为基础的应用程序。

做企业项目一般用这个,主要是Web开发。

J2ME (Java 2 Platform Micro Edition ) 这个一般都用在手机等微型数字设备开发及部署应用程序平台上,移动终端程序开发的,也就是常说的Java 手机游戏之类Sun是为了方便开发者,把Java区分为J2SE(Java 2 Standard Edition)、J2EE(Java 2 Enterprise Edition)、J2ME(Java 2 Micro Edition)和Java Card四种平台。

J2SE是所有Java技术的基础,不管开发人员要开发什么平台的Java应用程序,都必须先从J2SE学起。

J2EE技术着重于企业服务器端的应用。

J2ME主要针对嵌入式系统,包括手机、PDA等。

针对手机应用程序的开发,Sun还提供了免费的J2ME Wireless Toolkit。

Java Card技术用来开发可以植入IC智能卡中的应用程序。

j2eeJ2EE Java2平台企业版(Java 2 Platform,Enterprise Edition)J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。

J2ME开发环境的安装及配置

J2ME开发环境的安装及配置

J2ME开发环境的安装及配置J2ME(Java 2 Platform, Micro Edition)是一种用于开发移动设备应用程序的Java平台。

它提供了一个底层的Java运行时环境,适用于资源有限的设备,如手机、PDA和其他嵌入式系统。

本文将介绍如何安装和配置J2ME开发环境。

第一步:下载J2ME开发工具包(SDK)首先,您需要下载J2ME开发工具包(也称为SDK)。

可以从Oracle官网或其他第三方网站下载最新版本的J2ME SDK。

确保选择与您正在使用的操作系统相对应的版本。

第二步:安装J2ME SDK下载完成后,运行安装程序并按照提示进行安装。

通常,安装程序将要求您选择安装目录和其他一些选项。

确保选择一个合适的安装目录,以便稍后在配置环境时使用。

第三步:设置环境变量安装完成后,需要设置一些环境变量,以便系统能够正确识别和运行J2ME开发工具包。

根据您使用的操作系统,以下是一些常见的环境变量设置方法:在Windows上:1. 打开“控制面板”并点击“系统”。

2. 点击“高级系统设置”。

3. 在“系统属性”窗口中,点击“环境变量”按钮。

4. 在“系统变量”区域中,找到“Path”变量并点击“编辑”按钮。

5. 在变量值的末尾添加J2ME安装目录的路径,以分号分隔。

例如:C:\j2me_sdk\bin;(假设J2ME SDK安装在C:\j2me_sdk目录下)在Linux上:1. 打开终端。

2. 输入以下命令:export PATH=$PATH:/path/to/j2me_sdk/bin(将“/path/to/j2me_sdk”替换为您的J2ME SDK的实际安装路径)第四步:配置开发环境安装和配置开发环境的下一步是选择一个集成开发环境(IDE)来编写和调试J2ME应用程序。

下面是一些流行的J2ME开发工具:1. Eclipse:Eclipse是一款常用的Java开发IDE,可以通过安装插件来支持J2ME开发。

J2ME中文API

J2ME中文API

J2ME中文APIAlert 列表; AlertType rithmeticException ArrayIndexOutOfBoundsException ArrayStoreExceptionBooleanByteByteArrayInputStream ByteArrayOutputStream CalendarCanvas 画布; Certificate CertificateExceptionCharacterChoiceChoiceGroupClassClassCastException ClassNotFoundException CommConnectionCommandCommandListenerConnection ConnectionNotFoundException Connector ContentConnectionControlControllableCustomItemDataInputDataInputStream DataOutput DataOutputStream Datagram DatagramConnectionDateDateFieldDisplayDisplayableDoubleEOFException EmptyStackException EnumerationErrorExceptionFloatFontForm 文本;GameCanvasGaugeGraphics 虚拟画笔;Hashtable HttpConnection HttpsConnection IOException IllegalAccessException IllegalArgumentException IllegalMonitorStateException IllegalStateException IllegalThreadStateExceptionImageImageItem IndexOutOfBoundsException InputConnection InputStream InputStreamReader InstantiationException Integer InterruptedException InterruptedIOException InvalidRecordIDException Item ItemCommandListener ItemStateListenerLayerLayerManagerList 绘制复选框; Long MIDlet MIDletStateChangeException ManagerMathMediaException NegativeArraySizeException NoClassDefFoundError NoSuchElementException NullPointerException NumberFormatException OutOfMemoryError OutputConnection OutputStreamOutputStreamWriterPlayerPlayerListenerPrintStreamPushRegistryRandomReader RecordComparator RecordEnumeration RecordFilter RecordListener RecordStore RecordStoreException RecordStoreFullException RecordStoreNotFoundException RecordStoreNotOpenException RunnableRuntime RuntimeExceptionScreenSecureConnection SecurityException SecurityInfo ServerSocketConnection ShortSocketConnectionSpacerSpriteStackStreamConnectionStreamConnectionNotifierStringStringBuffer StringIndexOutOfBoundsException StringItemSystemTextBox 绘制单选按钮; TextField ThreadThrowableTiledLayerTimeZoneTimerTimerTaskToneControl UDPDatagramConnection UTFDataFormatException UnsupportedEncodingException VectorVirtualMachineError VolumeControlWriterClass Canvas javax.microedition.lcdui Field Summarystatic int DOWNstatic int FIREstatic int GAME_Astatic int GAME_Bstatic int GAME_Cstatic int GAME_Dstatic int KEY_NUM0static int KEY_NUM1static int KEY_NUM2static int KEY_NUM3static int KEY_NUM4static int KEY_NUM5static int KEY_NUM6static int KEY_NUM7static int KEY_NUM8static int KEY_NUM9static int KEY_POUNDkeyCode for ITU-T key "pound" (#).static int KEY_STARkeyCode for ITU-T key "star" (*).static int LEFTConstant for the LEFT game action.static int RIGHTConstant for the RIGHT game action.static int UPConstant for the UP game action.Constructor Summaryprotected Canvas()Constructs a new Canvas object.Method Summaryint getGameAction(int keyCode) 返回按键编码值对应用的游戏操作;int getKeyCode(int gameAction) 返回游戏操作常量的案件编码值;String getKeyName(int keyCode) 返回按键编码值对应的按键的名称,这个名称不是游戏操作的名称,而是实际按键的名称;boolean hasPointerEvents() 响应指针拖动事件;boolean hasPointerMotionEvents() 判断设备是否探测指针设备的按下,拖动和释放行为;boolean hasRepeatEvents() 判断设备是否支持重复按键;protected void hideNotify() 在应用程序管理器从屏幕删除画布后调用;boolean isDoubleBuffered() 判断设备是否支持双缓冲器;protected void keyPressed(int keyCode) 当按下按键时调用,通常处理按键的案件编码;protected void keyReleased(int keyCode) 当释放按键时调用,通常处理按键的案件编码;protected void keyRepeated(int keyCode) 当持续按下按键时调用,通常处理案件的按键编码;(不是所有设备都支持)protectedpaint(Graphics g) 把Graphics类的实例作为参数,在画布上绘制一幅图像;abstract voidprotected void pointerDragged(int x, int y) 响应指针拖动事件;protected void pointerPressed(int x, int y) 响应指针按下事件;protected void pointerReleased(int x, int y) 响应指针释放事件;void repaint() 重新绘制整个画布;void repaint(int x, int y, int width, int height) 重新绘制画布的指定区域;void serviceRepaints() 在其他优先需求之前必须处理的画笔需求;void setFullScreenMode(boolean mode)Controls whether the Canvas is in full-screen mode or in normal mode.protected void showNotify() 在应用程序管理显示画布之前调用;protected void sizeChanged(int w, int h)Called when the drawable area of the Canvas has beenchanged.Class Screen javax.microedition.lcduiMethods inherited from class javax.microedition.lcdui.DisplayableaddCommand, getHeight, getTicker, getTitle, getWidth, isShown, removeCommand, setCommandListener, setTicker, setTitle, sizeChangedMethods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class Displayable javax.microedition.lcduiMethod Summaryvoid addCommand(Command cmd)Adds a command to the Displayable.int getHeight()Gets the height in pixels of the displayable areaavailable to the application.Ticker getTicker(): 获得屏幕标题;String getTitle() :获得屏幕的滚动牌;int getWidth()Gets the width in pixels of the displayable areaavailable to the application.boolean isShown()Checks if the Displayable is actually visible on thedisplay.void removeCommand(Command cmd)Removes a command from the Displayable.void setCommandListener(CommandListener l)Sets a listener for Commands to this Displayable,replacing any previous CommandListener.void setTicker(Ticker ticker):设定屏幕的滚动牌;void setTitle(String s):设定屏幕的标题;protected void sizeChanged(int w, int h)The implementation calls this method when theavailable area of the Displayable has been changed. Methods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitClass Alert javax.microedition.lcduiField Summarystatic Command DISMISS_COMMANDA Command delivered to a listener to indicate that the Alerthas been dismissed.static int FOREVERFOREVER indicates that an Alert is kept visible until theuser dismisses it.Constructor SummaryAlert(String title) 创建Alert类的实例;Alert(String title, String alertText, Image alertImage, AlertType alertType)使用Image和AlertType创建Alert类的实例;Method Summaryvoid addCommand(Command cmd)Similar toDisplayable.addCommand(/doc/e321 93809.html,mand), howeverwhen the application first adds a command to an Alert, DISMISS_COMMANDis implicitly removed.int getDefaultTimeout() 获得Alert类的实例的默认超时;Image getImage() 获得Alert类的实例的图像;Gauge getIndicator()Gets the activity indicator for this Alert.String getString() 获得Alert类的实例的消息;int getTimeout() 获得Alcrt类的实例要显示的实际时间;AlertType getType() 获得Alecrt类的实例的AlertTypc;void removeCommand(Command cmd)Displayable.removeCommand(/doc/e 32193809.html,mand), howeverwhen the application removes the last command from an Alert,DISMISS_COMMAND is implicitly added.void setCommandListener(CommandListener l)Displayable.setCommandListener(/do c/e32193809.html,mandListener) but with the following additional semantics.void setImage(Image img) 把指定图像和Alert类的实力建立关联;void setIndicator(Gauge indicator)Sets an activity indicator on this Alert.void setString(String str) 设定Alert类的实力的消息;void setTimeout(int time) 设定Alert类的实例的显示时间;void setType(AlertType type) 设定Alert类的实例AlertType;Methods inherited from class javax.microedition.lcdui.DisplayablegetHeight, getTicker, getTitle, getWidth, isShown, setTicker, setTitle, sizeChanged Methods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait,wait, wait Class Form javax.microedition.lcduiConstructor SummaryForm(String title) 创建Form类的实例;Form(String title, Item[] items) 创建Form类的实例,并且把它指定的项数组加到实例上Method Summaryint append(Image img) 把Image类的实例添加到Form类的实例;int append(Item item) 把Item类或其子类的实例添加到Form 类的实例;int append(String str) 把String类的实例添加到Form类的实例;void delete(int itemNum) 根据索引从Form类的实例中删除指定Item类或其子类的实例void deleteAll()Item get(int itemNum) 获得索引指定的位置处的Item类或其子类的的实例;int getHeight()int getWidth()void insert(int itemNum, Item item) 在索引指定的位置处插入Item类或子类的实例void set(int itemNum, Item item) 在索引指定的位置使用第二个参数引用的Item类或其子类的实例;void setItemStateListener(ItemStateListener iListener) 将ItemStateListener和Item类或其子类的实例建立关联;int size() 获得Form类的实例中的Item类及子类的实例数目;Methods inherited from class javax.microedition.lcdui.DisplayableaddCommand, getTicker, getTitle, isShown, removeCommand, setCommandListener, setTicker, setTitle, sizeChangedMethods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class ChoiceGroup javax.microedition.lcduiField SummaryFields inherited from class javax.microedition.lcdui.ItemBUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_DEFAULT, LAYOUT_EXPAND, LAYOUT_LEFT, LAYOUT_NEWLINE_AFTER, LAYOUT_NEWLINE_BEFORE, LAYOUT_RIGHT, LAYOUT_SHRINK, LAYOUT_TOP, LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAINFields inherited from interface javax.microedition.lcdui.ChoiceEXCLUSIVE, IMPLICIT, MULTIPLE, POPUP, TEXT_WRAP_DEFAULT, TEXT_WRAP_OFF,TEXT_WRAP_ONConstructor SummaryChoiceGroup(String label, int choiceType) 创建一个空的ChoiceGroup类的实例,实例的标题是label,实例的类型是choiceType;ChoiceGroup(String label, int choiceType, String[] stringElements, Image[] imageElements) 创建ChoiceGroup类的实例,实例的标题是label,实例的类型是choiceType,实例使用图像,并且使用string中包含的选项组成这个实例;Method Summaryint append(String stringPart, Image imagePart) 在choiceType 类的实例中的所有选项末尾增加选项,并且设定这个选项关联的图像;void delete(int elementNum) 根据索引数,从ChoiceGroup类的实例中删除相应的选项及其相关联的图像;void deleteAll()Deletes all elements from this ChoiceGroup.int getFitPolicy()Gets the application's preferred policy for fitting Choice elementcontents to the available screen space.Font getFont(int elementNum)Gets the application's preferred font for rendering the specified elementof this Choice.Image getImage(int elementNum) 获得索引数标记的选项关联的图像;int getSelectedFlags(boolean[] selectedArray_return) 获得选项的选择状态,并把状态存储在一个数组selectedArray_return中;int getSelectedIndex() 获得被选择的选项关联的索引数;String getString(int elementNum) 获得索引数标记的选项关联的字符串;void insert(int elementNum, String stringPart, Image imagePart) 在索引数标记的选项前,插入一个又string和image指定的选项到ChoiceGroup类的实例中;boolean isSelected(int elementNum)判断用户是否选择了索引数标识的选项;void set(int elementNum, String stringPart, Image imagePart) 使用string和image指定的选项替代索引数标记的选项;void setFitPolicy(int fitPolicy)Sets the application's preferred policy for fitting Choice elementcontents to the available screen space.void setFont(int elementNum, Font font)Sets the application's preferred font for rendering thespecified elementof this Choice.void setSelectedFlags(boolean[] selectedArray) 使用数组中存储的状态设定选项的选择状态;void setSelectedIndex(int elementNum, boolean selected) 设定索引鼠标及的选项的选择状态,或者被选择(true),或者不被选择(false);int size() 获得ChoiceGroup类的实例中选项的数目;Methods inherited from class javax.microedition.lcdui.Item addCommand, getLabel, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, setLabel, setLayout, setPreferredSize Methods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class DateField javax.microedition.lcduiField Summarystatic int DATEInput mode for date information (day, month, year).static int DATE_TIMEInput mode for date (day, month, year) and time (minutes, hours) information.static int TIMEInput mode for time information (hours and minutes).Fields inherited from class javax.microedition.lcdui.ItemBUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_DEFAULT, LAYOUT_EXPAND, LAYOUT_LEFT, LAYOUT_NEWLINE_AFTER, LAYOUT_NEWLINE_BEFORE, LAYOUT_RIGHT, LAYOUT_SHRINK,LAYOUT_TOP, LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAINConstructor SummaryDateField(String label, int mode) 创建包含指定标签、使用特定模式的DateField类的实例;DateField(String label, int mode, TimeZone timeZone) 创建包含指定标签、使用特定模式和时区的DateFild类的实例;Method SummaryDate getDate() 从DateField类的实例中获得日期/时间;int getInputMode() 获得DateField类的实例的收入模式;void setDate(Date date) 从DateField类的实例设定日期;void setInputMode(int mode) 使用一个不同的模式替换已有的日期域的模式;Methods inherited from class javax.microedition.lcdui.Item addCommand, getLabel, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, setLabel, setLayout, setPreferredSize Methods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class Gauge javax.microedition.lcduiField Summarystatic int CONTINUOUS_IDLEThe value representing the continuous-idle state of a non-interactiveGauge with indefinite range.static int CONTINUOUS_RUNNINGThe value representing the continuous-running state of anon-interactive Gauge with indefinite range.static int INCREMENTAL_IDLEThe value representing the incremental-idle state of a non-interactiveGauge with indefinite range.static int INCREMENTAL_UPDATINGThe value representing the incremental-updating state of a non-interactive Gauge with indefinite range.static int INDEFINITEA special value used for the maximum value in order to indicate thatthe Gauge has indefinite range.Fields inherited from class javax.microedition.lcdui.ItemBUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_DEFAULT, LAYOUT_EXPAND, LAYOUT_LEFT, LAYOUT_NEWLINE_AFTER, LAYOUT_NEWLINE_BEFORE, LAYOUT_RIGHT, LAYOUT_SHRINK, LAYOUT_TOP, LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAINConstructor SummaryGauge(String label, boolean interactive, int maxValue, int initialValue)Creates a new Gauge object with the given label, in interactive ornon-interactive mode, with the given maximum and initial values.Method Summaryvoid addCommand(Command cmd)Adds a context sensitive Command to the item.int getMaxValue() 获得guage的最大值;int getValue() 获得gauge的当前值;boolean isInteractive() 判断guage是否是交互式的;void setDefaultCommand(Command cmd)Sets default Command for this Item.void setItemCommandListener(ItemCommandListener l)Sets a listener for Commands to this Item, replacing any previousItemCommandListener.void setLabel(String label)Sets the label of the Item.void setLayout(int layout)Sets the layout directives for this item.void setMaxValue(int maxValue) 设定guage的最大值;void setPreferredSize(int width, int height)Sets the preferred width and height for this Item.void setValue(int value) 为gauge设定一个新值;Methods inherited from class javax.microedition.lcdui.Item getLabel, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommandMethods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class StringItem javax.microedition.lcduiField SummaryFields inherited from class javax.microedition.lcdui.ItemBUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_DEFAULT, LAYOUT_EXPAND, LAYOUT_LEFT, LAYOUT_NEWLINE_AFTER, LAYOUT_NEWLINE_BEFORE,LAYOUT_RIGHT, LAYOUT_SHRINK, LAYOUT_TOP,LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAINConstructor SummaryStringItem(String label, String text) 创建StringItem类的实例,其中,lable是一个说明StringItem 类的标签,text是在屏幕上显示的文本;StringItem(String label, String text, int appearanceMode)Creates a new StringItem object with the given label, textual content, and appearance mode. Method Summaryint getAppearanceMode()Font getFont()String getText() 获得StringItem类的实例的文本部分;void setFont(Font font)Sets the application's preferred font for rendering this StringItem.void setPreferredSize(int width, int height)Sets the preferred width and height for this Item.void setText(String text) 替换StringItem类的实例的文本部分;Methods inherited from class javax.microedition.lcdui.Item addCommand, getLabel, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, setLabel, setLayoutMethods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class TextField javax.microedition.lcduiField Summarystatic int ANYThe user is allowed to enter any text.static int CONSTRAINT_MASKThe mask value for determining the constraint mode.static int DECIMALThe user is allowed to enter numeric values with optional decimalfractions, for example "-123", "0.123", or ".5".static int EMAILADDRThe user is allowed to enter an e-mail address.static int INITIAL_CAPS_SENTENCEThis flag is a hint to the implementation that during text editing,the initial letter of each sentence should be capitalized.static int INITIAL_CAPS_WORDThis flag is a hint to the implementation that during text editing,the initial letter of each word should be capitalized.static int NON_PREDICTIVEIndicates that the text entered does not consist of words that arelikely to be found in dictionaries typically used by predictive input schemes.static int NUMERICThe user is allowed to enter only an integer value.static int PASSWORDIndicates that the text entered is confidential data that should beobscured whenever possible.static int PHONENUMBERThe user is allowed to enter a phone number.static int SENSITIVEIndicates that the text entered is sensitive data that theimplementation must never store into a dictionary or table for use in predictive,auto-completing, or other accelerated input schemes.static int UNEDITABLEIndicates that editing is currently disallowed.static int URLThe user is allowed to enter a URL.Fields inherited from class javax.microedition.lcdui.ItemBUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_DEFAULT, LAYOUT_EXPAND, LAYOUT_LEFT, LAYOUT_NEWLINE_AFTER, LAYOUT_NEWLINE_BEFORE, LAYOUT_RIGHT, LAYOUT_SHRINK, LAYOUT_TOP, LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAINConstructor SummaryTextField(String label, String text, int maxSize, int constraints) 创建TextField类的实例 Method Summaryvoid delete(int offset, int length) 在TextField类中指定的位置删除指定长度的字符;int getCaretPosition() 获得TextField类的约束条件;int getChars(char[] data) 将Textfield类的内容复制到一个字符数组中;int getConstraints() 获得TextField类中的指针位置;int getMaxSize() 获得TextField内的最大字符数;String getString() 将TextField类的内容复制到一个字符串中;void insert(char[] data, int offset, int length, int position) 在TextField类中指定位置从字符数组中插入指定长度字符;void insert(String src, int position) 在TextField类中指定的位置插入字符串;void setChars(char[] data, int offset, int length) 使用字符数组中从指定位置开始的指定长度的字符替换TextField类的字符;void setConstraints(int constraints) 设定TextField类的约束条件;void setInitialInputMode(String characterSubset)Sets a hint to the implementation as to the input mode that should be usedwhen the user initiates editing of this TextField.int setMaxSize(int maxSize) 设定T extField类的最大字符数;void setString(String text) 使用字符串中的字符替换TextFiekt类的字符;int size() 获得TextField类中的字符数目;Methods inherited from class javax.microedition.lcdui.Item addCommand, getLabel, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, setLabel, setLayout, setPreferredSize Methods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class Image javax.microedition.lcduiMethod Summarystatic Image createImage(byte[] imageData, int imageOffset, int imageLength) 创建静态图像,其中imageeData为一个表示图像的数据的数组,imageOffset是图像数据在数组中的开始位置,imagelength是图像数据的长度;static Image createImage(Image source) 创建静态图像,其中source为一个已经存在的图像的引用;static Image createImage(Image image, int x, int y, int width, int height, int transform) Creates an immutable image using pixeldata from the specifiedregion of a source image, transformed as specified.static Image createImage(InputStream stream)Creates an immutable image from decoded image data obtained froman InputStream.static Image createImage(int width, int height) 创建指定宽度和高度的静态图像;static Image createImage(String name) 创建静态图像,其中name为资源的名字;static Image createRGBImage(int[] rgb, int width, int height, boolean processAlpha)Creates an immutable image from a sequence of ARGB values, specifiedas 0xAARRGGBB.Graphics getGraphics() 获得Graphics类的实例的应用;int getHeight() 获得图像的高度;void getRGB(int[] rgbData, int offset, int scanlength, int x, int y, int width, int height)Obtains ARGB pixel data from the specified region of this image andstores it in the provided array of integers.int getWidth() 获得图像的宽度;boolean isMutable() 判断图像是否是一副可变图像;Methods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class ImageItem javax.microedition.lcduiField Summarystatic int LAYOUT_CENTERSee/doc/e32193809.html,YOUT_CENTER.static int LAYOUT_DEFAULTSee/doc/e32193809.html,YOUT_DEFAULT.static int LAYOUT_LEFTSee /doc/e32193809.html,YOUT_LEFT.static int LAYOUT_NEWLINE_AFTERSee/doc/e32193809.html,YOUT_NEWLINE_AF TER.static int LAYOUT_NEWLINE_BEFORESee/doc/e32193809.html,YOUT_NEWLINE_BE FORE.static int LAYOUT_RIGHTSee/doc/e32193809.html,YOUT_RIGHT.Fields inherited from class javax.microedition.lcdui.ItemBUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_EXPAND, LAYOUT_SHRINK, LAYOUT_TOP, LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAINConstructor SummaryImageItem(String label, Image img, int layout, String altText) 创建ImageItem类的实例,其中,label 为描述图像的文本,img是图像的引用,layout是布局方案,altText是不能在设备上显示图像时显示的文本;ImageItem(String label, Image image, int layout, String altText, int appearanceMode)Creates a new ImageItem object with the given label, image, layout directive, alternate text string, and appearance mode.Method SummaryString getAltText() 获得ImageItem的实例的替代文本;int getAppearanceMode()Returns the appearance mode of the ImageItem.Image getImage() 获得ImageItem类的实例相关联的图像;int getLayout() 获得ImageItem类的实例的布局方案;void setAltText(String text) 替换ImageItem的实例的替代文本;void setImage(Image img) 将图像和ImageItem类的实例建议关联;void setLayout(int layout) 替换ImageItem类实例的布局方案;Methods inherited from class javax.microedition.lcdui.ItemaddCommand, getLabel, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, setLabel, setPreferredSizeMethods inherited from class /doc/e32193809.html,ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Class List javax.microedition.lcduiField Summarystatic Command SELECT_COMMANDThe default select command for IMPLICIT Lists. Fields inherited from interface javax.microedition.lcdui.Choice EXCLUSIVE, IMPLICIT, MULTIPLE, POPUP, TEXT_WRAP_DEFAULT, TEXT_WRAP_OFF,TEXT_WRAP_ONConstructor SummaryList(String title, int listType) 创建一个List类的实例,不为这个列表指定元素,title是列表的标题,listYType是列表的类型;List(String title, int listType, String[] stringElements, Image[] imageElements) 船舰一个List类的实例,并且为列表指定元素,title 是列表的标题,listType是列表的类型,stringElements是列表中包含的文字的字符串数组,imageElements是和每个列表项关联的图像的数组;Method Summaryint append(String stringPart, Image imagePart) 在列表的末尾添加表项,其中,stringPart是表项的文本,imagePart是和表项相关联的图像;void delete(int elementNum) 从列表中删除elementNum表示的表项;void deleteAll()Deletes all elements from this List.int getFitPolicy()Gets the application's preferred policy for fitting Choice elementcontents to the available screen space.Font getFont(int elementNum)Gets the application's preferred font for rendering the specified elementof this Choice.Image getImage(int elementNum) 获得列表中的indexNum表示的特定位置处的表项相关联的图像;int getSelectedFlags(boolean[] selectedArray_return) 获得列表项背选择的状态,并把它们存放到selectedArray中;int getSelectedIndex() 获得列表中被喜欢则的表项的素引数;String getString(int elementNum) 获得列表中的elementNum 表示的特定位置处的表项相关联的文本;void insert(int elementNum, String stringPart, ImageimagePart) 在列表中指定的位置插入表项,其中elementNum是表示要插入到列表的位置,stringPart是表项的文本,imagePart是和表项项关联的图像;boolean isSelected(int elementNum) 判断elementNum标记的表项是否被选择;void removeCommand(Command cmd)The same as Displayable.removeCommand but with the following additional。

J2ME中文教程

J2ME中文教程

J2ME中文教程(6)— GAME API第6章 GAME API6.1 游戏API简介6.2 GameCanvas的使用6.2.1 绘图6.2.2 键盘6.3 Sprite的使用6.3.1 Sprite帧6.3.2 帧序列6.3.3 Reference Pixel6.3.4 Sprite的变换6.3.5 绘制Sprite6.3.6 碰撞检测6.4 Layer的使用6.4.1 TiledLayer6.4.2 LayerManager6.5 一个示例6.6 小结6.1 游戏API简介MIDP 2.0相对于1.0来说,最大的变化就是新添加了用于支持游戏的API,它们被放在javax.microedition.lcdui.game包中。

游戏API包提供了一系列针对无线设备的游戏开发类。

由于无线设备仅有有限的计算能力,因此许多API的目的在于提高Java 游戏的性能,并且把原来很多需要手动编写的代码如屏幕双缓冲、图像剪裁等都交给API 间接调用本地代码来实现。

各厂家有相当大的自由来优化它们。

游戏API使用了MIDP的低级图形类接口(Graphics,Image,等等)。

整个game 包仅有5个Class:GameCanvas这个类是LCDUI的Canvas类的子类,为游戏提供了基本的“屏幕”功能。

除了从Canvas继承下来的方法外,这个类还提供了游戏专用的功能,如查询当前游戏键状态的能力,同步图像输出;这些功能简化了游戏开发并提高了性能。

LayerLayer类代表游戏中的一个可视化元素,例如Sprite或TiledLayer是它的子类;这个抽象类搭好了层(Layer)的基本框架并提供了一些基本的属性,如位置,大小,可视与否。

出于优化的考虑,不允许直接产生Layer的子类(不能包外继承)。

LayerManager对于有着许多Layer的游戏而言,LayerManager通过实现分层次的自动渲染,从而简化了游戏开发。

核心技术:J2ME游戏APIGameCanvas游戏画布

核心技术:J2ME游戏APIGameCanvas游戏画布

GameCanvas是MIDP2.0的⼀个最主要元素,提⾼了J2ME游戏开发的⽅便性,相对于MIDP1.0,降低了J2ME游戏开发的难度跟成本,本⽂专门详述了GameCanvas游戏画布的有关内容,对GameCanvas有个⼤概的剖析。

⼀、GameCanvas中的主要⽅法、⽅法原型跟⽅法的作⽤如下总结: 1、⽅法GameCanvas,⽅法原型protected GameCanvas(boolean suppressKeyEvents),作⽤:构造⽅法,参数suppressKeyEvents 表⽰是否需要处理游戏键之外的其他按键事件。

例如数字键,如果此参数为 false ,那么按键事件处理⽅法keyPressed ,keyRepeated , keyReleased 在程序运⾏过程中不会被调⽤,这样可以提⾼速度和性能。

2、⽅法getGraphics,⽅法原型protected Graphics getGraphics(),⽅法作⽤:得到画布中脱机屏幕上⽤于作图的Graphics 对象。

3、⽅法flushGraphics,⽅法原型public void flushGraphics(),⽅法作⽤:要求刷新屏幕,这时脱机屏幕上的图像会被绘制到真实屏幕上。

4、⽅法flushGraphics,⽅法原型public void flushGraphics(int x, int y, int width, int height),⽅法作⽤:要求刷新屏幕上指定区域,这时脱机屏幕上指定区域的图像会被绘制到真实屏幕上。

5、⽅法getKeyStates,⽅法原型public int getKeyStates(),⽅法作⽤:得到按键状态。

⼆、GameCanvas是为了⽅便游戏开发的Canvas类,从类的实现上,可以看出GameCanvas类是Canvas类的subclass,它继承了MIDP1.0中在使⽤的javax.microedition.lcdui.Canvas类,因此Canvas备置的⽅法可以直接使⽤GameCanvas. 三、GameCanvas的特征,就是⽀持取得offscreen缓冲和按键的状态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 页 共 33 页
列表;
画布;
J2ME
API 笔记
Exception Float Font Form GameCanvas Gauge Graphics Hashtable HttpConnection HttpsConnection IOException IllegalAccessException IllegalArgumentException IllegalMonitorStateException IllegalStateException IllegalThreadStateException Image ImageItem IndexOutOfBoundsException InputConnection InputStream InputStreamReader InstantiationException Integer InterruptedException InterruptedIOException InvalidRecordIDException Item ItemCommandListener ItemStateListener Layer LayerManager List Long MIDlet MIDletStateChangeException Manager Math MediaException NegativeArraySizeException NoClassDefFoundError NoSuchElementException NullPointerException NumberFormatException
void pointerDragged(int x, int y) 响应指针拖动事件; pointerDragged void pointerPressed(int x, int y) 响应指针按下事件; pointerPressed ssed void pointerReleased pointerReleased(int x, int y) 响应指针释放事件; void repaint repaint() 重新绘制整个画布; void repaint repaint(int x, int y, int width, int height) 重新绘制画布的指定区域; void serviceRepaints() 在其他优先需求之前必须处理的画笔需求; serviceRepaints
Class Displayable Method Summary
javax.microedition.lcdui
void addCommand addCommand(Command cmd) Adds a command to the Displayable. int getHeight() getHeight Gets the height in pixels of the displayable area available to the application. Ticker getTicker getTicker(): 获得屏幕标题; String getTitle getTitle() :获得屏幕的滚动牌; int getWidth() getWidth Gets the width in pixels of the displayable area available to the application. boolean isShown isShown() Checks if the Displayable is actually visible on the display. void removeCommand removeCommand(Command cmd) Removes a command from the Displayable.
第 5 页 共 33 页
J2ME
API 笔记
void setFullScreenMode setFullScreenMode(boolean mode) Controls whether the Canvas is in full-screen mode or in normal mode. protected protected void showNotify showNotify() 在应用程序管理显示画布之前调用; void sizeChanged sizeChanged(int w, int h) Called when the drawable area of the Canvas has been changed.
Class Screen
javax.miax.microedition.lcdui.Displayable Methods inherited from class javax.microedition.lcdui.Displayable addCommand, getHeight, getTicker, getTitle, getWidth, isShown, removeCommand, setCommandListener, setTicker, setTitle, sizeChanged Methods inherited from class ng.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
J2ME
API 笔记
Alert AlertType rithmeticException ArrayIndexOutOfBoundsException ArrayStoreException Boolean Byte ByteArrayInputStream ByteArrayOutputStream Calendar Canvas Certificate CertificateException Character Choice ChoiceGroup Class ClassCastException ClassNotFoundException CommConnection Command CommandListener Connection ConnectionNotFoundException Connector ContentConnection Control Controllable CustomItem DataInput DataInputStream DataOutput DataOutputStream Datagram DatagramConnection Date DateField Display Displayable Double EOFException EmptyStackException Enumeration Error
第 3 页 共 33 页
绘制单选按钮;
J2ME
API 笔记
Ticker TiledLayer TimeZone Timer TimerTask ToneControl UDPDatagramConnection UTFDataFormatException UnsupportedEncodingException Vector VirtualMachineError VolumeControl Writer
boolean isDoubleBuffered() 判断设备是否支持双缓冲器; isDoubleBuffered oubleBuffered protected protected protected void keyPressed keyPressed(int keyCode) 当按下按键时调用,通常处理按键的案件编码; void keyReleased(int keyCode) 当释放按键时调用,通常处理按键的案件编码; keyReleased void keyRepeated keyRepeated(int keyCode) 当持续按下按键时调用,通常处理案件的按键编码; (不是所有设备都支持) protected abstract protected protected protected void paint(Graphics g) 把 Graphics 类的实例作为参数,在画布上绘制一幅图像; paint
int getGameAction getGameAction(int keyCode) 返回按键编码值对应用的游戏操作; int getKeyCode getKeyCode(int gameAction) 返回游戏操作常量的案件编码值; String getKeyName getKeyName(int keyCode) 返回按键编码值对应的按键的名称,这个名称不是游戏操作 的名称,而是实际按键的名称; boolean hasPointerEvents hasPointerEvents() 响应指针拖动事件; boolean hasPointerMotionEvents() 判断设备是否探测指针设备的按下,拖动和释放行为; hasPointerMotionEvents boolean hasRepeatEvents hasRepeatEvents() 判断设备是否支持重复按键; protected void hideNotify hideNotify() 在应用程序管理器从屏幕删除画布后调用;
第 2 页 共 33 页
文本;
虚拟画笔;
绘制复选框;
J2ME
API 笔记
Object OutOfMemoryError OutputConnection OutputStream OutputStreamWriter Player PlayerListener PrintStream PushRegistry Random Reader RecordComparator RecordEnumeration RecordFilter RecordListener RecordStore RecordStoreException RecordStoreFullException RecordStoreNotFoundException RecordStoreNotOpenException Runnable Runtime RuntimeException Screen SecureConnection SecurityException SecurityInfo ServerSocketConnection Short SocketConnection Spacer Sprite Stack StreamConnection StreamConnectionNotifier String StringBuffer StringIndexOutOfBoundsException StringItem System TextBox TextField Thread Throwable
相关文档
最新文档