代码中演示了ChoiceGroup和TextField(列表框和文本框)的使用及其事件响应方式的使用
和Dispalyable类不同的是Item类是无法占据整个屏幕的
通常是使用Form类的append(Item item)添加到Form上的
Item的事件处理方式和Command的事件有几分类似
是通过ItemCommandListener或ItemStateListener接口实现的
一个是命令事件一个是状态改变的事件 具体的使用方法参看代码
/**
* project :aboutItem
* @author atskyline
* @FirstWriteTime 2008.07.12
* @LastWriteTime 2008.07.12
*/
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemCommandListener;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class MIDlet1 extends MIDlet implements ItemCommandListener,ItemStateListener
{
private Display dis;
private Form frm = new Form("Form");
private ChoiceGroup cg1 =new ChoiceGroup("ChoiceGroup", Choice.POPUP);
private TextField text1 =new TextField("TEXT1", "text1", 20, TextField.ANY);
private TextField text2 =new TextField("TEXT2", "text2", 20, TextField.ANY);
private Command cmdDel =new Command("删除字符",Command.ITEM,1);
protected void startApp() throws MIDletStateChangeException
{
dis=Display.getDisplay(this);
dis.setCurrent(frm);
frm.append(cg1);
cg1.append("选项A", null);
cg1.append("选项B", null);
frm.append(text1);
frm.append(text2);
text1.addCommand(cmdDel);
text2.addCommand(cmdDel);
text1.setItemCommandListener(this);
text2.setItemCommandListener(this);
frm.setItemStateListener(this);//注意是用frm绑定而非cg1
}
public void commandAction(Command c, Item item)
{
if(c==cmdDel)
{
TextField tf=(TextField)item;
int Position=tf.getCaretPosition();
tf.delete(Position-1, 1);
}
}
public void itemStateChanged(Item item)
{
if(item==cg1)
{
String s=cg1.getString(cg1.getSelectedIndex());
frm.setTitle(s);
}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException
{
}
protected void pauseApp()
{
}
}
posted on 2008-07-12 21:42
atskyline 阅读(1140)
评论(1) 编辑 收藏 引用 所属分类:
J2ME笔记