4.2 Display类使用
Display类是界面编程中一个重要的类,该类的作用是控制界面显示以及获得和屏幕相关的一些属性信息。
Display类属于javax.microedition.lcdui包,该类的对象代表一个MIDlet程序的显示系统,所以创建该类的对象时,必须指定对应的MIDlet对象,针对同一个MIDlet对象,在任何地方创建的Display对象都是相同的,这样就很方便的进行界面控制了。
创建Display对象必须使用Display类的静态方法getDisplay,该方法的声明如下:
public static Display getDisplay(MIDlet m)
所以在继承自MIDlet类的内部创建Display对象时,可以使用this来指定对应的MIDlet对象。示例代码如下:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/**
* 演示如何在MIDlet的子类内部创建Display对象
*/
public class CreateDisplayObjectInMIDlet extends MIDlet{
//声明Display对象
Display myDisplay;
/**
* 默认构造方法
*/
public CreateDisplayObjectInMIDlet(){
//创建Display对象
myDisplay = Display.getDisplay(this);
}
public void startApp(){}
public void pauseApp(){}
public void destroyApp(boolean b){}
}
在该代码中,通过代码:
myDisplay = Display.getDisplay(this);
创建了一个Display对象,其中参数this在这里代表CreateDisplayObjectInMIDlet类的对象,而CreateDisplayObjectInMIDlet继承自MIDlet类,所以符合getDisplay方法的声明。通过该代码创建的Display对象可以控制CreateDisplayObjectInMIDlet类相关的所有界面的显示。
一般在实际的编程中,都把Display对象创建的代码放置在MIDlet子类的构造方法方法内部,而不是startApp方法内部,主要是因为构造方法只执行一次,而startApp方法可能会被多次调用(注:可以参看MIDlet的生命周期)。
其中和界面控制相关的方法如下:
u getCurrent——获得当前显示的界面对象
u setCurrent——设置当前显示的界面对象,具体使用参看HelloMIDlet.java。
其他和属性操作相关的方法可以参看API说明文档。
关于Display对象的创建以及在非MIDlet类中的创建方法在后续的内容中会进行详细介绍。