/**
* Java Me-List控件的用法案例
*/
package com.xushouwei.cn;
import java.io.IOException;
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.Image;
import javax.microedition.lcdui.List;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class ListDemo extends MIDlet implements CommandListener{
//定义两种事件类型
private final static Command CMD_EXIT=new Command("Exit",Command.EXIT,1);
private final static Command CMD_BACK=new Command("Back", Command.BACK, 1);
//定义Display对象
private Display display;
private List mainList;
private List execlusiveList;
private List implicitList;
private List multipleList;
private boolean firstTime;
public ListDemo()
{
display=Display.getDisplay(this);
String[] stringArray={"Option A","Option B","Option C","Option D"};
Image[] imageArray=null;
execlusiveList=new List("Exclusive",Choice.EXCLUSIVE,stringArray, imageArray);
execlusiveList.addCommand(CMD_BACK);
execlusiveList.addCommand(CMD_EXIT);
execlusiveList.setCommandListener(this);
implicitList=new List("Implicit",Choice.IMPLICIT,stringArray, imageArray);
implicitList.addCommand(CMD_BACK);
implicitList.addCommand(CMD_EXIT);
implicitList.setCommandListener(this);
multipleList=new List("Multiple",Choice.MULTIPLE,stringArray, imageArray);
multipleList.addCommand(CMD_BACK);
multipleList.addCommand(CMD_EXIT);
multipleList.setCommandListener(this);
firstTime=true;
}
public void commandAction(Command c, Displayable d) {
// TODO Auto-generated method stub
if (d.equals(mainList)) {
if(c==List.SELECT_COMMAND)
{
if(d.equals(mainList))
{
switch(((List)d).getSelectedIndex())
{
case 0:
display.setCurrent(execlusiveList);
break;
case 1:
display.setCurrent(implicitList);
break;
case 2:
display.setCurrent(multipleList);
break;
}
}
}
}
else
{
if(c==CMD_BACK)
{
display.setCurrent(mainList);
}
}
if(c==CMD_EXIT)
{
try {
destroyApp(false);
} catch (MIDletStateChangeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
notifyDestroyed();
}
}
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
Image[] imageArray=null;
if(firstTime)
{
try {
Image icon=Image.createImage("images/Icon.png");
imageArray=new Image[]{icon,icon,icon};
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
String[] stringArray={"Exclusive","Implicit","Multiple"};
mainList=new List("Choose type",Choice.IMPLICIT,stringArray,imageArray);
mainList.addCommand(CMD_EXIT);
mainList.setCommandListener(this);
display.setCurrent(mainList);
firstTime=false;
}
}