J2ME-lecture03-高级用户界面设计.ppt
《J2ME-lecture03-高级用户界面设计.ppt》由会员分享,可在线阅读,更多相关《J2ME-lecture03-高级用户界面设计.ppt(138页珍藏版)》请在咨信网上搜索。
1、J2ME设计及应用设计及应用Fall20111可整理ppt第三讲第三讲高层用户界面设计高层用户界面设计3.1用户界面概述用户界面概述一、一、J2ME用户界面的特点用户界面的特点l图形驱动效率高图形驱动效率高l界面结构简单界面结构简单l与传统界面风格一致与传统界面风格一致l智能设计智能设计2可整理ppt二、用户界面的分类l在在javax.microedition.lcdui包中的界面类,分为:包中的界面类,分为:高层用户界面类:高层用户界面类:Screen类类低层用户界面类:低层用户界面类:Canvas类类和和Graphic类类。l高层用户界面的特点:高层用户界面的特点:封装了一些基本界面控件;
2、封装了一些基本界面控件;主要应用于业务处理的应用程序主要应用于业务处理的应用程序;完成较高层次的抽象,移植性好;完成较高层次的抽象,移植性好;无需关心各种界面控件的颜色、字体和外观;无需关心各种界面控件的颜色、字体和外观;滚动、翻页等交互都由界面控件完成,无需设计者关心。滚动、翻页等交互都由界面控件完成,无需设计者关心。3可整理pptl低层用户界面的特点:低层用户界面的特点:允许设计者在屏幕上较准确地绘制图形;允许设计者在屏幕上较准确地绘制图形;主要用于游戏界面的设计主要用于游戏界面的设计;抽象较少,不能保证程序可以在不同的硬件设备上运行,抽象较少,不能保证程序可以在不同的硬件设备上运行,也不
3、能保证硬件设备的运行结果相同,可移植性差;也不能保证硬件设备的运行结果相同,可移植性差;可以进行细致的布局,绘制每个像素点、接受较低层的可以进行细致的布局,绘制每个像素点、接受较低层的事件、直接获得用户的按键消息;事件、直接获得用户的按键消息;可以设计复杂的用户交互。可以设计复杂的用户交互。4可整理ppt三、三、lcdui包结构(包结构(主要类的类图解)(LiquidCrystalDisplayUserInterface,液晶显示用户界面)5可整理ppt三、三、lcduilcdui包结构包结构(LiquidCrystalDisplayUserInterface,液晶显示用户界面)6可整理ppt
4、四、四、ScreenScreen类结构类结构7可整理ppt8可整理ppt3.2屏幕交互类屏幕交互类一、管理一、管理MID屏幕屏幕Display类类lDisplay是是J2ME应用程序中的屏幕管理类,它负责将各个界面应用程序中的屏幕管理类,它负责将各个界面显示内容映射到实际硬件设备,相当于一个逻辑屏幕。显示内容映射到实际硬件设备,相当于一个逻辑屏幕。l每个每个MIDlet有且只有一个有且只有一个Display类的实例。可以在类的实例。可以在MIDlet的构的构造方法中通过静态方法造方法中通过静态方法staticDisplaygetDisplay(MIDletm)获取当前获取当前MIDlet的屏幕
5、对象。的屏幕对象。l在同一时刻,只能有在同一时刻,只能有唯一一个唯一一个Screen或或Canvas类的子类类的子类显示显示在屏幕上,可以调用在屏幕上,可以调用Display的的setCurrent(Displayablenextdisplayable)的方法来将前一个画面替换掉,并且必须自行将前一个画面的的方法来将前一个画面替换掉,并且必须自行将前一个画面的状态保留起来,并自己控制整个程序画面的切换。状态保留起来,并自己控制整个程序画面的切换。l在在MIDlet从暂停态转换为激活态需调用从暂停态转换为激活态需调用startApp方法,此时调方法,此时调用用setCurrent方法更新当前激活
6、的方法更新当前激活的MIDlet屏幕;从激活态到暂屏幕;从激活态到暂停态的转换调用停态的转换调用setCurrent方法,隐藏当前暂停的方法,隐藏当前暂停的MIDlet屏幕。屏幕。l可以调用可以调用getCurrent方法获取当前方法获取当前MIDlet屏幕。屏幕。9可整理pptimportjavax.microedition.midlet.MIDlet;importjavax.microedition.lcdui.*;publicclassHelloextendsMIDletimplementsCommandListenerprivateDisplaydisplay;privateTextB
7、oxt;privateCommandexitCommand;publicHello()super();display=Display.getDisplay(this);exitCommand=newCommand(退出退出,Command.SCREEN,1);Stringmessage=null;if(display.isColor()message=支持彩色显示!共支持的颜色数是:支持彩色显示!共支持的颜色数是:+display.numColors();elsemessage=不支持彩色显示!不支持彩色显示!;t=newTextBox(支持的颜色支持的颜色,message,30,0);t.a
8、ddCommand(exitCommand);t.setCommandListener(this);10可整理pptprotectedvoidstartApp()display.setCurrent(t);protectedvoiddestroyApp(booleanarg0)protectedvoidpauseApp()publicvoidcommandAction(Commandc,Displayabled)if(c=exitCommand)destroyApp(true);notifyDestroyed();11可整理ppt12可整理ppt二、屏幕对象二、屏幕对象Displayable类
9、类lDisplayable是是抽象类抽象类,不能直接产生它的实例,不能直接产生它的实例,只能产生子类的实例。只能产生子类的实例。l如果应用程序在后台运行,如果应用程序在后台运行,Displayable对象也对象也可能在后台运行,此时需调用可能在后台运行,此时需调用isShown方法判断方法判断Displayable对象是否在屏幕可见,若可见,方能对象是否在屏幕可见,若可见,方能调用调用setCurrent方法。方法。lTicker(滚动条滚动条)是运行在是运行在Displayable对象上的一对象上的一个滚动条,他继承自个滚动条,他继承自Displayable类,与其他控件类,与其他控件是并列
10、关系,但其他控件可使用是并列关系,但其他控件可使用setTicker方法进方法进行设置。行设置。13可整理pptimportjavax.microedition.midlet.MIDlet;importjavax.microedition.lcdui.*;publicclassDisplayableMIDletextendsMIDletprivateDisplaydisplay;privateTextBoxtextBox;privateTickerticker;publicDisplayableMIDlet()display=Display.getDisplay(this);ticker=ne
11、wTicker(测试滚动条);textBox=newTextBox(diaplayable对象,测试displayable对象,50,0);textBox.setTicker(ticker);/为文本框设置滚动条textBox.setTitle(标题内容);Stringheight=diaplayable对象的高度是:+textBox.getHeight();Stringwidth=diaplayable对象的宽度是:+textBox.getWidth();textBox.setString(height+width);/在textBox显示的字符串protectedvoidstartApp(
12、)display.setCurrent(textBox);protectedvoiddestroyApp(booleanarg0)protectedvoidpauseApp()14可整理ppt15可整理pptDisplay类和Displayable类Displayable类是可以在屏幕上显示的组件。Displayable是所有(高级界面中)可以显示在屏幕上的类的父接口,所有继承它的类都可以显示在屏幕上。Dispaly类代表屏幕,一般用getDisplay方法取得屏幕,然后用setCurrent方法把Displayable的对象显示在屏幕上。16可整理ppt三、命令按钮三、命令按钮Command
13、类类lCommand类产生的实例表示一个命令按钮控件,用于提供类产生的实例表示一个命令按钮控件,用于提供给用户执行某个特别命令的接口,完成用户与程序的交互。给用户执行某个特别命令的接口,完成用户与程序的交互。l构造方法构造方法需要提供需要提供标签标签、类型类型和和优先级优先级三个参数。数值越小三个参数。数值越小优先级越高,优先级越高,0代表优先级最高。代表优先级最高。JAM根据优先级处理命令冲根据优先级处理命令冲突。突。l例:例:ExitCommend=newCommend(“退出退出”,Command.EXIT,1);l一旦类的实例构造完成,不能再对标签、类型和优先级进行一旦类的实例构造完成
14、,不能再对标签、类型和优先级进行修改,但可以调用方法修改,但可以调用方法getLable、getCommandType和和getPriority获取对应参数值。获取对应参数值。17可整理ppt值值命令类型命令类型叙述叙述1Command.SCREEN程序自定义的命令按钮,在设备上没有直接程序自定义的命令按钮,在设备上没有直接对应的按键,而对应到屏幕上对应的按键,而对应到屏幕上2Command.BACK回退到前一屏幕,用于界面导航回退到前一屏幕,用于界面导航3Command.CANCEL取消当前操作,或对当前提示给予否定回答取消当前操作,或对当前提示给予否定回答4Command.OK确定当前操作
15、,或对当前提示给予肯定回答确定当前操作,或对当前提示给予肯定回答5Command.HELP获得帮助信息获得帮助信息6Command.STOP停止当前操作或进程停止当前操作或进程7Command.EXIT退出应用程序退出应用程序8Command.ITEM在屏幕上显示多条选项在屏幕上显示多条选项18可整理pptl在移动信息设备中,在移动信息设备中,softbutton的数量是有限制的,通常是两个。的数量是有限制的,通常是两个。l当命令按钮数量超过当命令按钮数量超过softbutton数量时,优先级高的命令按钮将显示在数量时,优先级高的命令按钮将显示在左边左边softbutton上,而优先级低的命令
16、按钮将依次显示在上,而优先级低的命令按钮将依次显示在右边右边softbutton的绑定菜单上。的绑定菜单上。19可整理pptimportjavax.microedition.midlet.*;importjavax.microedition.lcdui.*;publicclassCommandMIDletextendsMIDletprivateDisplaydisplay;privateTextBoxtextbox;privateCommandopenCommand;privateCommandeditCommand;privateCommandsaveCommand;privateComma
17、ndundoCommand;privateCommandexitCommand;publicCommandMIDlet()display=Display.getDisplay(this);textbox=newTextBox(Command对象,测试command对象,50,0);openCommand=newCommand(打开,Command.SCREEN,1);editCommand=newCommand(编辑,Command.SCREEN,1);saveCommand=newCommand(保存,Command.SCREEN,1);undoCommand=newCommand(撤销,C
18、ommand.SCREEN,1);exitCommand=newCommand(退出,Command.SCREEN,1);20可整理ppttextbox.addCommand(openCommand);textbox.addCommand(editCommand);textbox.addCommand(saveCommand);textbox.addCommand(undoCommand);textbox.addCommand(exitCommand);protectedvoiddestroyApp(booleanarg0)protectedvoidpauseApp()protectedvoi
19、dstartApp()display.setCurrent(textbox);21可整理ppt22可整理ppt事件事件(Events)lMIDlet是基于事件的应用程序。lMIDlet中执行的所有程序都是为了响应应用程序发送给MIDlet的事件被调用的;l事件的分类:1.低层事件低层事件(low-levelevent)用来处理设备事件l按键事件、探针事件2.高层事件高层事件(high-levelevent)用来处理应用中的相关事件l命令(Command)事件、组件(Item)状态变化事件23可整理ppt高层事件高层事件Command事件事件lCommand事件CommandListener接口
20、CommandListener对事件的处理方法:voidcommandAction(Commandc,Displayabled);用来处理命令事件,其两个参数:lc-命令对象参数,是当前所触发的命令对象的引用;ld-显示对象,是当前命令对象所在的现实对象的引用。24可整理ppt高层事件高层事件Form组件组件(Item)状态变化事件状态变化事件lForm组件(Item)状态变化事件ItemStateListener接口ItemStateListener对事件的处理方法lvoid itemStateChanged(Item item);l用来处理组件状态变化事件入口参数,是Item对象,即当前状
21、态发生变化的组件对象的引用。25可整理ppt3.3Command事件处理接口事件处理接口一、命令监听器一、命令监听器CommandListener接口类接口类l程序与用户的交互通过命令触发监听器来实现程序与用户的交互通过命令触发监听器来实现;l添加用户触发的命令并作出处理时,需要实现添加用户触发的命令并作出处理时,需要实现CommandListener接口,该接口声明的接口,该接口声明的commandAction(Commandc,Displayables)方法作为响应用户命令的处理过程。方法作为响应用户命令的处理过程。l类的实例通过调用类的实例通过调用setCommandListener方法
22、增方法增加监听器。加监听器。26可整理ppt步骤步骤1.创建创建Command对象对象;2.将该对象添加到将该对象添加到UI组件中,如:组件中,如:Form、TextBox、List、Alert或者或者Canvas上;上;3.创建创建Command监听器监听器,它必须实现,它必须实现CommandListener接口,即:实现接口,即:实现commandAction(Commandc,Displayabled)方方法;法;4.通过调用通过调用setCommandListener(监听器监听器)方法,将监听器方法,将监听器注册到注册到UI组件;组件;5.当用户与当用户与UI交互,交互,MIDP实
23、现触发实现触发Command命令;命令;6.注册到注册到UI组件的监听器调用组件的监听器调用commandAction(Commandc,Displayabled)方法,方法,对对Command命令做出响应。命令做出响应。27可整理pptimportjavax.microedition.midlet.MIDlet;importjavax.microedition.midlet.MIDletStateChangeException;importjavax.microedition.lcdui.*;publicclassCommmandListenerMIDletextendsMIDletimpl
24、ementsCommandListenerprivateDisplaydisplay;privateTextBoxtextbox;privateCommandopenCommand;privateCommandeditCommand;privateCommandsaveCommand;privateCommandundoCommand;privateCommandexitCommand;publicCommmandListenerMIDlet()display=Display.getDisplay(this);textbox=newTextBox(Command对象,测试command对象,5
25、0,0);openCommand=newCommand(打开,Command.SCREEN,1);editCommand=newCommand(编辑,Command.SCREEN,1);saveCommand=newCommand(保存,Command.SCREEN,1);undoCommand=newCommand(撤销,Command.SCREEN,1);exitCommand=newCommand(退出,Command.SCREEN,1);28可整理ppttextbox.addCommand(openCommand);textbox.addCommand(editCommand);tex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2ME lecture03 高级 用户界面 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。