J2ME TextBox组件使用示例

本示例展示了如何在J2ME应用程序中使用TextBox组件创建简单的文本输入界面,并通过CommandListener接口处理按钮点击事件。

package demo;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class Test extends MIDlet implements CommandListener {

    private TextBox textbox;
    private Display disp;
    private Command cmdExit;
    private Command cmdOK;
    private Alert alt;

    public Test() {
        super();
        disp = Display.getDisplay(this);
        cmdExit = new Command("退出", Command.SCREEN, 1);
        cmdOK = new Command("阅读", Command.OK, 1);
        textbox = new TextBox("请输入待阅项目序号:", "", 40, 0);
        textbox.addCommand(cmdExit);
        textbox.addCommand(cmdOK);
        textbox.setCommandListener(this);
    }

    protected void startApp() throws MIDletStateChangeException {
        alt = new Alert("整蛊专家V1.0");
        alt.setType(AlertType.INFO);
        alt.setTimeout(Alert.FOREVER);
        disp.setCurrent(textbox);
    }

    protected void pauseApp() {
    }

    protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {
    }

    public void commandAction(Command c, Displayable d) {
        if (c == cmdExit) {
            notifyDestroyed();
        } else if (c == cmdOK) {
            String str = textbox.getString();
            alt.setString(str);
            disp.setCurrent(alt);
        }
    }
}

代码解释:

  1. 创建了一个名为Test的类,继承自MIDlet并实现了CommandListener接口,用于处理按钮点击事件。
  2. 在构造函数中初始化了Display对象、两个Command对象(“退出”和“阅读”)以及一个TextBox对象,用于接收用户输入。
  3. startApp()方法中创建了一个Alert对象,并在屏幕上显示TextBox组件。
  4. commandAction()方法中,根据用户点击的按钮执行不同的操作。如果点击“退出”,则退出应用程序;如果点击“阅读”,则获取TextBox中的文本内容,并在Alert对话框中显示。
rar 文件大小:4.5MB