|
package com;

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.lcdui.TextField;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

 /** *//*******************************************************************************
*
* @author zdw
*
*/
public class TextTest extends MIDlet implements CommandListener
  {
// 文本框
private TextBox tbx = null;
// 控制输入输出的类
private Display display = Display.getDisplay(this);
// 命令菜单(清除)
private Command clear;
// 得到鼠标位置
private Command getCursorPos;
// 输入限制
private Command astrict;
// 发送
private Command send;
// 退出
private Command exit;

public TextTest()
 {
// 初始化textBox
tbx = new TextBox("测试标题", "测试内容", 200, TextField.ANY);
// 设置为当前显示
display.setCurrent(tbx);
// 清除菜单
clear = new Command("清空", Command.SCREEN, 1);
// 光标位置菜单
getCursorPos = new Command("光标位置", Command.SCREEN, 1);
// 输入限制菜单
astrict = new Command("只能输入数字", Command.SCREEN, 1);
// 发送菜单
send = new Command("发送", Command.SCREEN, 1);
// 退出菜单
exit = new Command("退出", Command.EXIT, 1);

tbx.addCommand(clear);
tbx.addCommand(getCursorPos);
tbx.addCommand(astrict);
tbx.addCommand(send);
tbx.addCommand(exit);
// 添加Ticker(显示在TextBox上方)
tbx.setTicker(new Ticker("短信编辑器"));
// 添加事件监听器
tbx.setCommandListener(this);
}

// Alert的初始函数
public void initAlert()
 {
Alert alert = new Alert("提示", "发送成功", null, AlertType.INFO);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}

// 事件处理
public void commandAction(Command cmd, Displayable dis)
 {
if (cmd == getCursorPos)
 {
System.out.println("光标位置为:" + tbx.getCaretPosition());
}
if (cmd == clear)
 {
tbx.setString("");
}
if (cmd.getLabel().equals("只能输入数字"))
 {
tbx.setConstraints(TextField.DECIMAL);
tbx.removeCommand(astrict);
astrict = new Command("取消限制", Command.SCREEN, 1);
tbx.addCommand(astrict);
}
if (cmd.getLabel().equals("取消限制"))
 {
tbx.setConstraints(TextField.ANY);
tbx.removeCommand(astrict);
astrict = new Command("只能输入数字", Command.SCREEN, 1);
tbx.addCommand(astrict);
}
if (cmd.getCommandType() == Command.EXIT)
 {
this.notifyDestroyed();
}
if (cmd == send)
 {
this.initAlert();
}
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException
 {

}

protected void pauseApp()
 {

}

protected void startApp() throws MIDletStateChangeException
 {

}

}

|