4.3.2 控件类使用
如4.1节所述,控件类是指不能独立显示的界面元素,如单行文本框、选择框等。控件类必须添加到容器类中才可以显示。
这里所指的控件类主要包含两种:继承自Item类的类和Command按钮。其中继承自Item的控件类只能添加到Form中才可以显示,使用Form类的append方法添加,Command按钮可以添加到任何高级界面容器类(一般Alert除外),以及低级用户界面的Canvas类中。
对于控件类的学习,一般主要学习三个方面:
u 控件类的适用场合
u 控件属性的控制
u 获得控件中用户的输入
使用控件类来构造界面的步骤一般如下:
u 创建控件类对象
u 设置控件属性(可选)
u 将控件添加到Form中
具体各个控件类的构造方法等请查阅相关API,这里就不详细介绍了。
下面以TextField的使用为例来介绍控件类的使用。TextField类在界面中代表单行文本框,一般用于接受用户的简单输入,例如用户名、密码等。
示例代码如下:
//文件名:TextFieldMIDlet.java
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/**
* TextField类的基础使用
*/
public class TextFieldMIDlet extends MIDlet{
/**显示控制对象*/
private Display display;
public TextFieldMIDlet(){
//创建显示控制对象
display = Display.getDisplay(this);
//创建界面
TextFieldForm f = new TextFieldForm();
//在手机中显示该界面
display.setCurrent(f);
}
public void startApp(){}
public void pauseApp(){}
public void destroyApp(boolean b){}
}
//文件名:TextFieldForm.java
import javax.microedition.lcdui.*;
/**
* TextField的基本使用
*/
public class TextFieldForm extends Form{
/**TextField对象*/
TextField tf;
/**
* 默认构造方法
*/
public TextFieldForm(){
super("TextField使用");
//创建TextField对象
tf = new TextField("用户名:","",16,TextField.ANY);
//添加到界面类中
this.append(tf);
}
}
在该示例代码中,使用继承的方式使用高级界面容器类,并在界面类中创建和添加控件类,创建界面类使用的是其构造方法,然后添加到指定的界面类中。
其他控件类的使用步骤和TextField类似,可以自己编写代码实现其他的控件类功能。
最后介绍一下Command类的使用。Command在手机界面中代表软按钮,一般的手机中可以显示两个软按钮,新出的手机可以显示三个软按钮,软按钮一般对应手机键盘的左右软键。
其使用和TextField类似,不同的是Command按钮添加的方法不同。下面的示例代码是在以上TextFieldForm类中添加了Command以后的结构。
//文件名:TextFieldForm.java
import javax.microedition.lcdui.*;
/**
* TextField的基本使用
*/
public class TextFieldForm extends Form{
/**TextField对象*/
TextField tf;
/**Command对象*/
Command cmdOK;
/**
* 默认构造方法
*/
public TextFieldForm(){
super("TextField使用");
//创建TextField对象
tf = new TextField("用户名:","",16,TextField.ANY);
//添加到界面类中
this.append(tf);
//创建Command对象
cmdOK = new Command("确定",Command.OK,1);
//添加到界面类
this.addCommand(cmdOK);
}
}
关于控件类的使用就简单的介绍这么多,希望能够多练习一下这些类的使用,多花点时间仔细阅读一下这些控件类的API,并练习一下其他控件类的使用。