欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    5g游戏开发用户界面开发.docx

    • 资源ID:11735790       资源大小:420.13KB        全文页数:52页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    5g游戏开发用户界面开发.docx

    1、5g游戏开发用户界面开发用户界面开发本章目标 掌握Display的基本使用方法 熟悉Display的常用函数 掌握如何使用命令按钮及处理命令按钮的事件 熟悉文本框的使用 掌握如何为屏幕添加滚动条 掌握列表窗口的实现 掌握列表的维护及列表选项的选中判断1.1 Jave ME用户界面 Java ME应用程序的高级用户界面一般都是由Display对象和Displayable对象组成,其中,Display类可以用于管理系统的输入的输入设备和显示设备。Displayable对象是一个可以被设置在Display上的对象。1.2 Display类该类位于javax.microedition.lcdui.Di

    2、splay。每个MIDlet只能有Display对象,应用程序可以通过调用静态成员函数getDisplay获得对Display对象的引用。在MIDlet的运行过程中,无论何时调用getDisplay函数,都会返回相同的Display对象的引用。getDisplay函数的语法定义如下:public static Display getDisplay(MIDlet m);参数m用于制定返回哪个MIDlet对象的Display对象引用,如果参数为null,则触发空指针异常NullPointerException。Display可以对当前显示屏幕的管理:1、返回当前屏幕的Displayable对象方法

    3、为:public Displayable getCurrent(); 2、使Displayable在前台运行方法为:public void setCurrent(Displayable nextDisplayable)nextDisplayable参数是要被显示的Displayable对象,如果其值为null,那么,不会对当前显示产生任何影响,即当前显示不变。因此,应该设置一个非空的Displayable对象,向手机中的应用程序管理器发送一个应用程序要求在前台运行的请求。应用程序没有默认的Displayable对象,因此在应用程序初始化时,用户要通过setCurrent函数设置应用程序第一个被

    4、显示的界面。 Display可以获得边框类型和最佳图像大小。1、通过Display的getBorderStyle函数返回系统采用的边框类型,语法定义:public int getBorderStyle(Boolean highlighted)参数为true,则表示返回高亮状态的边框类型。返回值为边框类型,可能有下面两个值之一:Graphics.DOTTED:虚线类型Graphics.SOLID:实线类型2、通过Display的getBestImageWidth(int imagetype)、getBestImageHeight(int imagetype)获得图像的最佳宽度和高度public

    5、int getBestImageWidth(int imageType)public int getBestImageHeight(int imageType)参数imageType是要返回最佳图像大小的组件类型,可以选择的参数值有以下几种:1、LIST_ELEMENT:image类型为List的选项图像2、CHOICE_GROUP_ELEMENT:Image类型为ChoiceGroup的选项图像3、ALERT:Image类型Alert的图像可以获得系统颜色属性。numColors():获得当前设备支持的最大颜色数;isColor():是否支持彩色显示;Alpha级别numAlphaLevel

    6、s():显示当前设备能支持的;getColor(Display.COLOR_BACKGROUND):显示背景颜色;getColor(Display.COLOR_FOREGROUND):显示前景颜色;getColor(Display.COLOR_BORDER):显示边框颜色;getColor(Display.COLOR_HIGHLIGHTED_BACKGROUND):高亮的背景颜色;getColor(Display.COLOR_HIGHLIGHTED_FOREGROUND):高亮的前景颜色;getColor(Display.COLOR_HIGHLIGHTED_BORDER):高亮的边框颜色;程序

    7、41说明:本程序演示如何获得系统颜色属性import javax.microedition.lcdui.Display;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;public class DisplayColor extends MIDlet private Display display; public DisplayColor() super(); protected void startApp() throws MIDletStat

    8、eChangeException /获得当前MIDlet的Display对象 display = Display.getDisplay(this); /numColor()获取当前设备支持的最大颜色数 System.out.println(Max Colors: + display.numColors(); /显示是否支持彩色显示 System.out.println(Color Phone: + display.isColor(); /显示当前设备能支持的Alpha级别 System.out.println(Alpha Level: + display.numAlphaLevels(); /

    9、显示颜色常量的RGB值 /背景颜色 int c = display.getColor(Display.COLOR_BACKGROUND); String color = Integer.toHexString(c).toUpperCase(); System.out.println(Background: + color); /前景颜色 c = display.getColor(Display.COLOR_FOREGROUND); color = Integer.toHexString(c).toUpperCase(); System.out.println(foreground: + col

    10、or); /边框颜色 c = display.getColor(Display.COLOR_BORDER); color = Integer.toHexString(c).toUpperCase(); System.out.println(Border: + color); /高亮的背景颜色 c= display.getColor(Display.COLOR_HIGHLIGHTED_BACKGROUND); color = Integer.toHexString(c).toUpperCase(); System.out.println(Highlighted Background: + col

    11、or); /高亮的前景颜色 c= display.getColor(Display.COLOR_HIGHLIGHTED_FOREGROUND); color = Integer.toHexString(c).toUpperCase(); System.out.println(Highlighted Foreground: + color); /高亮的边框颜色 c = display.getColor(Display.COLOR_HIGHLIGHTED_BORDER); color = Integer.toHexString(c).toUpperCase(); System.out.printl

    12、n(Highlighted Border: + color); protected void pauseApp() / TODO Auto-generated method stub protected void destroyApp(boolean arg0) throws MIDletStateChangeException / TODO Auto-generated method stub 运行界面:Max Colors: 4096Color Phone: trueAlpha Level: 256Background: FFFFFFforeground: 0Border: AFAFAFH

    13、ighlighted Background: 0Highlighted Foreground: FFFFFFHighlighted Border: 606060注意:1、numColor():该函数的返回值与isColor函数的返回值相关。当isColor函数返回的值为true时,numColors函数的返回值表示当前显示设备所支持的最大彩色数;当isColor函数返回flase时,numColor函数返回值表示当前显示设备所支持的最大灰度等级。对于黑白手机,其返回值为2。2、numAlphaLevels:该函数返回显示设备支持的透明等级。返回2,那么设置支持全透明或不透明。如果返回值大于2,

    14、则表示为透明的等级,有可能半透明。3、public int getColor(int colorSpecifier):该参数colorSpecifier是颜色系统颜色常量的表示,返回值以0x00RRGGBB的格式表示系统颜色的RGB值。在MIDP2。0规范中,有以下几个颜色常量的表示可以使用。COLOR_BACKGROUND:常量值为0,表示屏幕上没有高亮显示的背景颜色COLOR_BORDER:常量值为4,表示屏幕上没有高亮显示的边框颜色,通常和背景颜色一起使用COLOR_FOREGROUND:常量值为1,表示屏幕上没有高亮显示的前景色COLOR_HIGHLIGHTED_BORDER:常量值为

    15、5,表示屏幕上被高亮显示的边框颜色COLOR_HIGHLIGHTED_FOREGROUND:常量值为3,表示用于绘制一个高亮的文本或简单图形的颜色1.3 Displayable类和Screen类Displayable类可以在手机屏幕上显示,一个MIDlet只可能有一个Display,可以有多个Displayable对象,但是在同一时刻只能显示一个Displayable对象。其直接子类有:Canvas /ScreenDisplayable类中提供的成员函数public void setTitle(String s):设置标题;public void setTicker(Ticker ticker

    16、):为Displayable对象设置滚动条;public Ticker getTicker():返回Displayable对象的滚动条;public Boolean isShown():判断当前Displayable对象是否被显示;public addCommand(Command cmd):为Displayable添加一个命令按钮;public void removeCommand(Command cmd):从Displayable中删除一个命令按钮;public void setCommandListener(CommandListener 1):设置命令按钮监听器;public int

    17、getWidth():;返回对象的宽度;public int getHeight();返回对象的高度;protected void sizeChanged(int w,int h),只能在派生类中使用,当Displayable对象的大小改变时,将触发sizeChanged函数执行。1.4 手机命令按钮的使用1.4.1 Command该类位于:javax.microedition.lcdui.Command;该类直接继承Object对象。构造函数:1)命令按钮的第一个构造函数public Command(String label,int commandType,int priority)参数说明

    18、:label:命令按钮上显示的标签CommandType:是命令按钮的类型,可以使用的类型有:Command.SCREEN、Command.BACK、Command.CANCEL、Command.OK 、Command.HELP 、Command.ITEM、Command.STOP 、Command.EXIT。Priority:命令按钮的优先级,即命令按钮的重要性。程序42:说明:本程序演示命令按钮的使用。import javax.microedition.lcdui.Command;import javax.microedition.lcdui.Display;import javax.mi

    19、croedition.lcdui.Form;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;public class T extends MIDlet public T() / TODO Auto-generated constructor stub Display display; Form frmMain = new Form(命令按钮长标签演示);/创建表单,设置标题 Command cmdScreen1 = new Command(SC

    20、REEN1, Command.SCREEN, 1);/创建命令按钮,名称为cmdScreen1 Command cmdScreen2 = new Command(SCREEN2 , Command.SCREEN, 2); /创建命令按钮,名称为cmdScreen2 protected void startApp() throws MIDletStateChangeException display = Display.getDisplay(this); frmMain.addCommand(cmdScreen1);/通过addCommand方法将cmdScreen1加到表单中 frmMain.

    21、addCommand(cmdScreen2); /通过addCommand方法将cmdScreen2加到表单中 display.setCurrent(frmMain);/将frmMain设置为当前显示 protected void pauseApp() / TODO Auto-generated method stub protected void destroyApp(boolean arg0) throws MIDletStateChangeException / TODO Auto-generated method stub 运行界面:图4.12)命令按钮的另外一个构造函数定义如下:pu

    22、blic Command(String label,int commandType,int priority)实际上,每个按钮都有短标签和长标签两个标签,两个标签都可以为空,长标签可以被显示时(有足够的空间显示长标签),命令按钮首先显示长标签;当没有足够的空间显示长标签时,系统将选择显示短标签。参数commandType 和priority和第一种构造函数相同。命令按钮的短标签可以通过getLabel函数返回,长标签可以通过getLongLabel函数返回。程序43说明:本程序演示长标签和短标签的使用public class LongLabel extends MIDlet Display d

    23、isplay; Form frmMain = new Form(命令按钮长标签演示); Command cmdScreen1 = new Command(SCREEN1,This is a short label!, Command.SCREEN, 1); /有足够的空间显示长标签,则显示长标签 Command cmdScreen2 = new Command(SCREEN2, This is a very vary very vary very vary long label!, Command.SCREEN, 2); /没有足够的空间显示长标签,则显示短标签 Command cmdScre

    24、en3 = new Command(A Short Lable, Command.SCREEN, 3); Command cmdExit1 = new Command(EXIT1, Command.EXIT, 1); public LongLabel() super(); protected void startApp() throws MIDletStateChangeException display = Display.getDisplay(this); frmMain.addCommand(cmdScreen3); frmMain.addCommand(cmdScreen2); frm

    25、Main.addCommand(cmdScreen1); frmMain.addCommand(cmdExit1); display.setCurrent(frmMain); protected void pauseApp() protected void destroyApp(boolean arg0) throws MIDletStateChangeException 运行效果图4.2注意:不同的手机生产厂商之间,以及同一手机生产厂商的不同模拟器之间都存在着一定的不同。1.4.2 CommandType命令按钮的类型 在创建命令按钮时,可以通过commandType参数设置命令按钮的类型,

    26、命令按钮的类型可以getCommandType函数返回。在MIDP2.0规范中定义了如表4-1所示的几种命令按钮类型。表4.1 命令按钮的类型及其作用类型常量值使用方法BACK2通常用于在多个屏幕之间进行导航,返回上一个屏幕的功能不会自动实现,需要开发人员通过代码进行控制CANCEL3可以被用在对话框中,用于提供一个否定的回答,取消某些操作,通常用于和OK类型一起使用。该类型的按钮并没有提供取消操作的代码,开发人员需要根据实际情况自己添加处理代码。当有多个屏幕时,CANCEL类型命令可以用来取消当前屏幕上的一些操作,并返回上一个屏幕,该功能和BACK类似,但是CANCEL更强调取消了某种操作E

    27、XIT7用于退出当前应用, 退出代码需要开发人员自己添加HELP5用于提供在线帮助,具体的帮助内容需要开发人员自己实现ITEM8可以提示其实现是屏幕的一个条目或者是Choice组件的一个元素,相对于SCREEN类型而言,ITEM类型表示命令按钮是屏幕布局的一个部分OK4可以被用在对话框中,用于提供一个肯定的回答,确认某些操作,通常和CANCEL类型一起使用。该类型的按钮并没有提供确定以后的操作,开发人员需要根据实际情况自己添加处理代码。当有多个屏幕时,OK类型命令可以用来确定在这个屏幕上输入的数据并跳转到下一个屏幕SCREEN1当要执行的命令适合于整个屏幕,例如“保存”、“打开”功能,或者用于

    28、进行屏幕切换时,可以使用该类型,想对于ITEM类型而言,SCREEN类型表示命令按钮是屏幕的一个部分STOP6可以用于停止某些正在运行的操作,进程等,通常不许要进行屏幕切换,停止操作的代码需要开发人员自己完成程序44说明:本程序演示命令按钮类型对命令按钮位置及顺序的影响。public class CommandType extends MIDlet Display display; Form frmMain = new Form(命令按钮类型演示); /命令按钮 Command cmdScreen1 = new Command(SCREEN1, Command.SCREEN, 1); Comm

    29、and cmdScreen2 = new Command(SCREEN2, Command.SCREEN, 1); Command cmdItem1 = new Command(ITEM1, Command.ITEM, 1); Command cmdItem2 = new Command(ITEM2, Command.ITEM, 1); Command cmdExit2 = new Command(EXIT2, Command.EXIT, 1); Command cmdExit1 = new Command(EXIT1, Command.EXIT, 1); Command cmdBack1 =

    30、 new Command(BACK1, Command.BACK, 1); Command cmdBack2 = new Command(BACK2, Command.BACK, 1); Command cmdCancel1 = new Command(CANCEL1, Command.CANCEL, 1); Command cmdCancel2 = new Command(CANCEL2, Command.CANCEL, 1); Command cmdHelp1 = new Command(HELP1, Command.HELP, 1);Command cmdHelp2 = new Command(HELP2, Command.HELP, 1);Command cmdOk1 = new Command(OK1, Command.OK, 1); Command cmdOk2 = new Command(OK2, Command.OK, 1); Command cmdStop1 = new Command(STOP1, Command.STOP, 1); Command cmdStop2 = new Command(STOP2, Command.STOP, 1); public CommandTyp


    注意事项

    本文(5g游戏开发用户界面开发.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开