人民邮电出版社-样章.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 高级用户界面及事件处理MIDP用户界面API的结构 1所示为用户界面类的阶层体系。 图4-1 MIDP用户界面类的体系 Displayable的子类有两种。 (1)Canvas:允许应用程序进行图形处理和输入处理的底层对象。Canvas 是低级图形用户界面组件,在同一时刻,只能有唯一一个Screen 或者Canvas 类的子类显示在屏幕上,可以调用Display 的setCurrent()的方法来将前一个画面替换掉,但必须自行将前一个画面的状态保留起来,并自己控制整个程序画面的切换。 (2)Screen:封装了完整的用户界面组件(Alert、List、TextBox、Form)的高层对象。Screen 类属于高级图形用户界面组件,就是这一章要着重介绍的内容,任何应用程序都可以将Screen和Canvas整合来展示一个集成后的应用程序接口。例如,在一个游戏程序中,List和Form可以被用来选择或者配置游戏的选项,而Canvas(或者GameCanvas)可以用于交互式的游戏组件。 4.2 Command和高级事件处理 在Java程序中,实现和用户交互功能的控件都是通过事件来处理的,这就需要指定控件所用的监听器。javax.microedition.lcdui包中定义了Command和CommandListener,使用它们可以很好的处理高级事件。一般是指按钮事件,比如用户按下键盘某键。 Command类用于实现应用程序的特定操作。它必须被添加到一个Displayable对象上,当这个Displayable被显示时,所有相关的Command都会显示在手机界面下方的左右两侧,当用户选择一个Command后,与当前Displayable对象相关的CommandListener就会自动被调用,就可以在CommandListener对象的CommandAction(Command c,Dispayable d)方法中处理命令。 创建新的Command 对象需要调用Command类的构造方法,其构造方法语法如下: new Command (Lables l,Type t,Priority p); 其中Lables表示在屏幕上显示的文字。Type指定了Command对象的类型,具体类型如表4-1所示,参数“Priority”定义了Command对象的重要指数,数值越小表示越重要,数值越小的命令对象会安排在屏幕的左边,当创建了很多命令对象的时候,数值大的会安排在右边的菜单中,当数值相同的时候,会使用方法本身默认的数值。 表4-1 命令类型表 类 型 默 认 数 值 作 用 BACK 2 返回上一屏幕 CANCEL 3 取消当前屏幕的操作或提示 EXIT 7 退出程序 HELP 5 请求帮助 ITEM 8 提示实现指定屏幕上的一项 OK 4 肯定当前屏幕的操作或提示 SCREEN 1 说明这是一种应用到当前屏幕的应用程序 STOP 6 停止当前运行的操作 创建一个命令的时候需要指定构造方法中的三个参数,如创建一个“Exit”的命令对象,代码如下: private Command exitCommand; exitCommand = new Command(Exit,Command.EXIT,1); 如果添加到Displayable的Command对象数量很多,MIDP会自动合并一些按钮,并将它们集中到一个菜单中,通常合并的根据是选取同类型的Command对象。图4-2说明了多个Command对象合并到一个菜单的情形。 图4-2 多个Command合并到一个菜单 下面我们通过一个例子来看如何实现按钮事件的处理,我们创建一个退出按钮,当按下这个按钮时退出应用程序: public class HelloWorld extends MIDlet implements CommandListener { //声明一个Command对象 private Command exitCommand; private TextBox tb; public HelloWorld() { //创建exitCommand对象 exitCommand = new Command(Exit, Command.EXIT, 1); tb = new TextBox(Hello MIDlet, Hello,World!, 15, 0); } protected void startApp() throws MIDletStateChangeException { Display.getDisplay(this).setCurren

文档评论(0)

3va3x66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档