4.2 Display类的使用
 

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类中的创建方法在后续的内容中会进行详细介绍。