J2ME List 介绍

阅读更多
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);
	}

}

你可能感兴趣的:(j2me,List)