4.3.2 控件类使用
 

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,并练习一下其他控件类的使用。