- 3
- 0
- 约6.74千字
- 约 45页
- 2016-09-25 发布于湖北
- 举报
精品ppt课件《j2me开发教程》第5章低级用户界面编程脂.ppt
第5章 低级用户界面编程 5.1 Canvas简介 正如高级界面屏幕类都继承Screen类一样,我们要用到低级用户界面必须要继承Canvas 这个抽象类,Canvas是Displayable的直接子类,属于J2ME中的低级API。 低级用户界面编程必须使用两个关键类:Canvas类和Graphics类。 Canvas是个抽象类,代表要绘制的抽象屏幕。为使用低层API建立用户界面,应用程序必须建立Canvas的一个子类,并实现paint 方法。 Graphics类的实例是作为参数传递给paint 的,它提供了设备绘图能力的入口,它允许在像素层面直接与显示设备交互操作。任何时候系统需要绘制屏幕时,都将调用Canvas类的paint 方法。 低级用户界面编程的核心任务在于在Canvas类的paint 方法中如何利用Graphics对象进行绘图操作。 Canvas 的核心是paint 这个方法,这个方法做是负责绘制屏幕上的画面,应用程序必须实现这个抽象方法。在 paint 方法中有一个参数是Graphics对象,可以利用Graphics类提供的各种方法进行绘图。 因此继承Canvas类的程序结构如下: class MyCanvas extends Canvas … protected void paint Graphics g … 任何时候都可以通过调用repaint 方法来产生重绘事件,它有两个方法,一共需要四个参数,分别用来指示起始坐标(X, Y)和长宽,另一个则不需要任何参数,代表整个画面重新绘制。 public final void repaint int x,int y ,int width,int height 只有在paint 方法的执行期间这个应用程序才可以对Graphics 进行操作,至于要渲染到Image 中的Graphics 对象,当需要调用它的时候,可以通过Image.getGraphics 方法来取得相应的Graphics,它将可以被应用程序一直占有。 我们可以通过下面的两种方法获取Canvas对象的大小: public int getHeight ; //获取可显示区域的高度(以像素为单位) public int getWidth ; //获取可显示区域的宽度(以像素为单位) 5.2 低级事件的处理 尽管通过Graphics对象可以实现绘制复杂的用户交互界面,但是,还必须存在一种底层机制来支持UI界面和用户之间的交互。Canvas为程序开发人员提供底层事件处理支持。底层事件大致可分为三类:Press Events 按键事件 、Action Keys(动作按键)和PointerEvents(触控事件)。但设备具体支持那些系统事件,必须由硬件的支持程度来判断。Canvas提供了一系列的方法供侦测硬件的支持程度。 5.2.2 游戏动作处理 gameAction是一种将手机键盘映射成为游戏动作的机制,通过这种机制,可以使不同手机上的按键都能转换为类似或者是相同的游戏动作,这样更方便用户对于游戏的操纵。游戏程序的开发人员根据游戏动作来设计游戏也大大提高游戏的可移植性。至于具体哪个键对应哪个游戏动作是由不同的MIDP实现来完成这一映射的,不同的手机厂商和设备可能具有不同的MIDP实现。 可以在程序中通过以下代码来获取特定的游戏动作对应的按键: int action getGameAction keyCode ; 其中,MIDP中定义的游戏动作有:Canvas.UP、Canvas.DOWN、Canvas.LEFT、Canvas.RIGHT、Canvas.FIRE、Game_A、Game_B、Game_C、Game_D。 但这些按键需要通过getGameAction方法进行处理键盘代码。当按下这些按键时会映射到我们为每个按键事件编写的方法,来完成一些动作。 程序:GameActionCanvas.java import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Ticker; public class GameActionCanvas extends Canvas String promote ; int cx,cy; public GameActionCanvas super ; cx getWidth /2; cy getHeight /2; public void paint Graphics g g.setColor 255,255,255 ; g.fill
您可能关注的文档
最近下载
- 蓝色商务工作总结汇报模板.ppt VIP
- 人机协同伦理框架.docx VIP
- 中职生职业生涯规划教案.pdf VIP
- 电力安全工作规程电力线路部分.docx VIP
- 四川省成都市青羊区2024-2025学年七年级上学期期末考试数学试卷(含答案).docx VIP
- (高清版)B-T 14699-2023 饲料 采样.pdf VIP
- 《无损检测技术》课件.pptx VIP
- TBT3246.3-2010 机车车辆及其零部件设计准则螺栓连接 第3部分:设计--电气应用.docx VIP
- 山东省烟台市蓬莱区(五四制)2024-2025学年七年级上学期期末考试道德与法治试题.pdf VIP
- 2022年7月核算员财务专业知识答题.docx VIP
原创力文档

文档评论(0)