高级用户界面一般都由Display对象和Displayable对象组成,其中,Display对象可以管理输入设备和显示设备,可以获取设备属性和请求在设备上显示对象。Displayable对象是一个被放置在Display上的对象。
每个MIDlet只能有一个Display对象,应用程序可以调用getDisplay方法获得对Display对象的引用,在MIDlet运行过程中,无论何时调用这个方法,都会返回相同的Display对象的引用,语法定义如下:public static Display getDisplay(MIDlet m),参数m用于指定返回哪一个MIDlet的Display对象的引用,不能为null。
Display对象提供对当前显示屏幕的管理,下面两个函数分别用于返回当前显示的diaplayable对象和设置diaplayable对象为当前显示。
public Displayable getCurrent()
public void setCurrent(Displayable d)
参数d为将要被显示的displayable对象,如果为null,则对当前显示没有任何影响,display没有默认显示的displayable对象,需要通过setCurrent函数来设置第一个被显示的界面。
通过Display对象可以获得设备属性:
1. public int getBorderStyle(boolean highlighted) //获得系统采用的边框类型
参数highlighted表示高亮状态,如果是true,则返回高亮状态的边框类型,否则返回正常状态的边框类型,返回值有两个可能:Graphics.DOTTED(虚线类型),Graphics.SOLID(实线类型)
2. public int getBestImageWidth(int imageType) //获得图像最佳宽度
public int getBestImageHeight(int imageType) //获得图像最佳高度
参数imageType是要返回最佳图像大小的组件类型,可以选择的参数值有:
LIST_ELEMENT://list选项图像
CHOICE_GROUP_ELEMENT :// choiceGroup选项图像
ALERT://Alert图像
3. public int numColors():// 返回设备支持的颜色数或者灰度等级
public boolean isColor()://返回设备是否支持彩色
public int numAlphaLevel()://返回设备支持的透明级数
public int getColor(int colorSpecifier)://获得系统的缺省颜色
colorSpecifier是颜色系统颜色常量的标识,在MIDP2.0中,有以下几个常量标识可以选择:
COLOR_BACKGROUD://表示屏幕上没有高亮显示的背景颜色
COLOR_BORDER://表示屏幕上没有高亮显示的边框颜色
COLOR_FOREGROUD://表示屏幕上没有高亮显示的前景颜色
COLOR_HIGHLIGHTED_ BACKGROUD://表示绘制并填充一个有焦点或者有焦点并高亮的矩形的颜色
COLOR_ HIGHLIGHTED_ BORDER://表示屏幕上高亮显示的边框颜色
COLOR_ HIGHLIGHTED_ FOREGROUD://表示用于绘制一个高亮的文本或简单图形的颜色