Screen类有四个子类: Alert List TextBox Form List根据Choice接口的定义,分为: Choice.Exclusive(单选) Choice.MULTIPLE(多选) Choice.IMPLICIT(简易式的单选) 单选型 Image img=Image.createImage("/a.png"); List l=new List("List test",Choice.Exclusive); l.append("banana",img); l.append("apple",null); display.setCurrent(l); insert()可在特定项目后插入一个新项目。 set()可以重新设定某个项目。 …… System.out.println("You have choice the"+l.getSelectedIndex()+"item."); System.out.println("the content is:"+l.getString(l.getSelectedIndex())); 多选型 List l=new List("List test",Choice.MULTIPLE); …… int size=l.size(); for (int i=0;i<=size;i++){ if(l.isSelected(i)) { System.out.println("you have selected"+i); } } getSelectedFlags()传回一个Boolean数组,借此可了解那个选项被选中。 简易式单选 List l=new List("List test",Choice.IMPLICIT); …… public void commandAction(Command c,Displayable s){ if(c==List.SELECT_COMMAND) { List tmp=(List)s; int i=tmp.getSelectedIndex(); System.out.println("you have selected"+i) }……} Choice.IMPLICIT在用户选择后,立刻引发事件,并将List.SELECT_COMMAND通过commandAction()的第一个参数c传入。 如果不希望这样,可以setSelectCommand(null)将它关掉,此时c=null. setSelectCommand(x)--x为另外一个Command对象,当List被选中后,x作为commandAction()的第一个参数传入。 setSelectCommand()后,这个Command--x会被addCommand()自动加到系统菜单。 removeCommand(c)如同: setSelectCommand(null); removeCommand(c); Choice接口提供的FitPolicy机制,决定当文字内容过长时,该如何处理 Choice.TEXT_WRAP_ON-过长的文字自动换行 Choice.TEXT_WRAP_OFF-过长的文字自动被截断 Choice.TEXT_WRAP_DEFAULT-依照及其不同而不同,通常是前两种的一种 
|