/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lession6;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.TextField;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.*;
/**
* ItemStateListener测试
* 代码实现:当用户选择了性别之后,显示用户选择的那个性别
* ItemStateListener的作用:当Item的状态改变时触发事件
*
* @author mouyong
*/
public class ItemCommandListenerMidlet2 extends MIDlet implements ItemStateListener {
private Form frmMain=new Form("ItemStateListener测试");
private Display dis=Display.getDisplay(this);
//制作一个下拉列表(ChoiceGroup.POPUP)
private ChoiceGroup chgSex=new ChoiceGroup("性别", ChoiceGroup.POPUP);
private TextField txtName=new TextField("请输入姓名", "", 20, TextField.ANY);
public void startApp() {
dis.setCurrent(frmMain);
//将下拉列表添加到Form上
frmMain.append(chgSex);
frmMain.append(txtName);
//添加下拉列表的选项
chgSex.append("男", null);
chgSex.append("女", null);
//注册监听,注意使用的是Form
frmMain.setItemStateListener(this);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
//事件方法,只有一个参数,就是状态被改变的那个item对象
//注意:所谓状态改变的意思,就是item的内容发生了变化(例如:在TextField里填写了内容,选择了性别等等)
public void itemStateChanged(Item item) {
if(item==chgSex){
ChoiceGroup chgSelected= (ChoiceGroup)item;
String sex=chgSelected.getString(chgSelected.getSelectedIndex());
frmMain.setTicker(new Ticker("您所选择的是:"+sex));
}else{
TextField txtSelected=(TextField)item;
String content=txtSelected.getString();
frmMain.setTicker(new Ticker("您所输入的是:"+content));
}
}
}