import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
//单选列表测试
public class List_test extends MIDlet implements CommandListener{
private Display display;
//构造方法
public List_test(){
super();
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
System.out.println("startApp()");
//获得Display的对象
display = Display.getDisplay(this);
//初始化列表 列表名称 列表模式(单选模式)
List list = new List("List测试",Choice.EXCLUSIVE);
//参数:第一个是屏幕上的文字 第二个是代表选项 的图标(不使用的时候用null进行表示)
list.append("开始游戏", null);
list.append("设置游戏",null);
list.append("退出游戏",null);
//设置默认选项 参数:下标,默认状态
list.setSelectedIndex(0, true);
//添加一个命令 标签 类型 属性
Command cmd = new Command("确定",Command.OK,1);
list.addCommand(cmd);
//设置(创建一个命令)
list.setCommandListener(this);
//显示
display.setCurrent(list);
}
public void commandAction(Command c, Displayable s) {
// TODO Auto-generated method stub
System.out.println("commandAction()");
System.out.println("Displayable测试:"+s.getTitle()+" "+s.getClass());
//获得命令对应的标签名
String cmd = c.getLabel();
//判断用户的操作状态
if(cmd.equals("确定")){
List temp = (List)s;
int i = temp.getSelectedIndex();
String label = temp.getString(i);
System.out.println("选中的标签为:"+i+1+"对应的值为:"+label);
}
//Implicit 隐含模式的用法:
// 和单选式没有什么区别,唯一不同的是,命令的处理机制上有一些细微的区别
//List list_implicit = new List("List test",Choice.IMPLICIT);
}
}
12-20
561