1 / 72
文档名称:

_低级用户界面编程-PPT.ppt

格式:ppt   页数:72页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

_低级用户界面编程-PPT.ppt

上传人:用户头像没有 2015/10/15 文件大小:0 KB

下载得到文件列表

_低级用户界面编程-PPT.ppt

相关文档

文档介绍

文档介绍:第7章低级用户界面编程
郝玉龙
E_mail:haoyulongsd@
《J2ME移动应用开发》电子讲义

Graphics绘图







小结

高级用户界面API使用起来比较简单,且具有较高的可移植性,但由于是通过底层的MIDP实现来控制最终的UI显示,因此无法实现对屏幕UI组件外观的精确控制。
在一些手机游戏等程序的实现中,要求开发人员必须对屏幕画面的每一个细节都要进行精确控制,这就需要用到低级用户界面API来进行界面开发。
利用低级用户界面API,开发者可以对界面进行更精确的控制,但在获得更大的灵活性的同时也失去了可移植性。

MIDP为程序开发人员提供了一组低层API。低层API由Canvas类和一组辅助支撑类(例如图形、字体和图像)组成。用户利用这些低级API可对设备精确控制,如绘制像素、接收原始的用户输入事件等。与高级API相比,开发人员可以更加灵活地控制屏幕绘制,但同时开发的复杂程度也大大提高,并在一定程度上丧失了程序的移植性。
低级用户界面编程必须使用两个关键类:Canvas类和Graphics类。
Canvas是个抽象类,代表要绘制的抽象屏幕。为使用低层API建立用户界面,应用程序必须建立Canvas的一个子类,并实现paint()方法。
Graphics类的实例是作为参数传递给paint()的,它提供了设备绘图能力的入口,它允许在像素层面直接与显示设备交互操作。任何时候系统需要绘制屏幕时,都将调用Canvas类的paint()方法。
低级用户界面编程的核心任务在于在Canvas类的paint()方法中如何利用Graphics对象进行绘图操作。
任何时候开发人员都可以用repaint()来产生重绘事件,从而间接调用Canvas类的paint()方法绘制屏幕。repaint()一共有两个同名方法,其中一个需要四个参数,分别是起始坐标(x,y),还有宽度和高度,另外一个不需要任何参数,它是代表整个屏幕全部重新绘制,显然,前者的效率较后者要高,实际开发中也大多数是用前者而不是后者。
注意:在应用程序中永远不要自行调用paint()方法,要重画屏幕或者重画屏幕中的一部分,应当使用repaint()方法。
程序7-1:
import ;
import ;
public class MyCanvas extends Canvas {
protected void paint(Graphics g) {
(255,255,255);
(0,0,getWidth(),getHeight());
(0,0,255);
("Hello,world",10,10,|);
}
}
程序7-2:
import ;
import ;
import ;
public class CanvasTest extends MIDlet {
private Display display;
public CanvasTest() {
super();
}
protected void startApp() throws MIDletStateChangeException {
display = (this);
MyCanvas mc=new MyCanvas();
(mc);
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
}
图7-1 程序7-2运行结果画面
Graphics绘图

图7-2 绘图坐标系对比
X