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;
//列表多选模式测试 MULTIPLE 案例:
public class List_Multiple_test 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);
private Display display;
private List mainList;
private List exclusiveList;
private List implicitList;
private List multipleList;
private boolean firstTime;
//编写构造方法
public List_Multiple_test(){
//获取对象
display = Display.getDisplay(this);
//初始化数组 ,Choice 文字选项部分
String[] stringArray = {
"Option A",
"Option B",
"Option C",
"Option D",
};
//Image[] 数组初始化
Image[] imageArray = null;
//exclusiveList 声明
exclusiveList = new List("ExclusiveList",Choice.EXCLUSIVE,stringArray,imageArray);
exclusiveList.addCommand(CMD_BACK);
exclusiveList.addCommand(CMD_EXIT);
exclusiveList.setCommandListener(this);
//implicitList 的声明,隐含模式
implicitList = new List("ImplicitList",Choice.IMPLICIT,stringArray,imageArray);
implicitList.addCommand(CMD_BACK);
implicitList.addCommand(CMD_EXIT);
implicitList.setCommandListener(this);
//multipleList 声明 多选模式
multipleList = new List("Multiple",Choice.MULTIPLE,stringArray,imageArray);
multipleList.addCommand(CMD_BACK);
multipleList.addCommand(CMD_EXIT);
multipleList.setCommandListener(this);
firstTime = true;
}
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
if(firstTime){
Image[] imageArray = null;
try{
Image icon = Image.createImage("/images/eclipse.png");// 路径为相对路径
imageArray = new Image[]{icon,icon,icon};
}catch(Exception ex){
ex.printStackTrace();
}
String[] stringArray = {"Exclusive","Implicit","Multiple"};
mainList = new List("Choose Type",Choice.IMPLICIT,stringArray,imageArray);
mainList.addCommand(CMD_BACK);
mainList.addCommand(CMD_EXIT);
mainList.setCommandListener(this);
display.setCurrent(mainList);
firstTime = false;
}
}
public void commandAction(Command c, Displayable d) {
// TODO Auto-generated method stub
if(d.equals(mainList)){
//使用了隐含模式 , 选择的时候会以SELECT_COMMAND 作为第一参数传入
if(c==List.SELECT_COMMAND){
switch (((List)d).getSelectedIndex()) {
case 0:
display.setCurrent(exclusiveList);
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();
}
}
}
}
分享到:
相关推荐
J2ME游戏开发中的地图设计与绘制,解析了用J2ME开发游戏时所需的地图的具体设计与绘制方法
J2ME下如何实现HTTPS的方法,给出了图文并茂的解释,非常有参考价值
J2ME游戏开发中使用层的概念,J2ME编程学习,供初学者学习,含源码
j2me 简单实现流媒体技术,支持midi2.0基础配置均可
一款来自国外的基于J2ME的MP3播放器的源代码,可实现基本的播放功能,虽然列表功能不是很完善,但可作为入门的好案例
j2me游戏开发及其源码,包含了说明文档和源码,系统详细,是初学j2me游戏开发朋友的好资料。
j2me的连连看源代码,基于j2me v1.x实现,可自动适应不同的屏幕。
j2me实现xml格式文件的解析,对想开发网络程序是一个不错的例子。
基于手机的通信录、文件、图片读写开发,j2me开发架构
j2me手机泡泡龙游戏。写得不错还未完工的版本。不过可以用来学习。
J2ME lwuit实现屏幕九宫图,功能十分强大
J2ME新手写的飞机游戏,希望初学者喜欢,或许对你有所帮助。
Vedio player in j2me. Also may need FileConnection API. @thour: prithwi
对于一个J2me高手来说,该API是非常必须的,能够解决手机游戏开发不少的问题。
J2ME游戏中的图片处理,含源码,供初学者学习!
J2ME高级用户界面的学习代码,在ktoolbar下运行,是学习J2ME的好助手.这里包括 List,MIDlet,MultiThread,NewThread,Spacer,StringItemApperance
Wireless_Java_Developing_with_J2ME__Second_Edition
j2me小游戏,入门级的学习很好:)
jsr179,j2me GPS导航文档,定位,手机开发文档
j2me\jal.rar MTK的代码 mtk的代码,