📄 listdemo.java
字号:
/*
* ListDemo.java
*
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
*
* @author Liu Bin
* @version
*/
public class ListDemo extends MIDlet implements CommandListener {
private Display display;
//定义List菜单的内容
private static String menuItems[] = {"带图标的List",
"字体不同的List",
"不执行任何操作",
"MULTIPLE类型的List",
"EXCLUSIVE类型的List"
};
//定义要使用的List
private List comList;
private List imgList;
private List fontList;
private List multipleList;
private List exclusiveList;
//定义使用的命令按钮
private Command cmdBack;
private Command cmdExit;
private Command cmdAppend;
private Command cmdDelete;
private Command cmdDeleteAll;
private Command cmdInsert;
private Command cmdSelect;
public ListDemo() {
try {
nbInit();
} catch(Exception e) {
e.printStackTrace();
}
}
private void nbInit() throws Exception {
cmdBack = new Command("返回", Command.BACK, 1);
cmdExit = new Command("退出", Command.EXIT, 0);
cmdAppend = new Command("追加", Command.ITEM, 2);
cmdDelete = new Command("删除", Command.ITEM, 2);
cmdDeleteAll = new Command("全部删除", Command.ITEM, 2);
cmdInsert = new Command("插入", Command.ITEM, 2);
cmdSelect = new Command("选择", Command.SCREEN, 3);
comList = new List("List功能演示", List.IMPLICIT, menuItems, null);
comList.addCommand(cmdExit);
imgList = new List("带图像的List功能演示", List.IMPLICIT);
imgList.addCommand(cmdBack);
fontList = new List("字体不同的List功能演示", List.IMPLICIT,
menuItems, null);
fontList.addCommand(cmdBack);
multipleList = new List("MULTIPLE类型的List功能演示", List.MULTIPLE);
multipleList.addCommand(cmdBack);
exclusiveList = new List("EXCLUSIVE类型的List功能演示", List.EXCLUSIVE);
exclusiveList.addCommand(cmdBack);
//定义List数组
List[] lists = {comList, imgList, fontList, multipleList,
exclusiveList
};
for (int i=0; i< lists.length;i++) {
lists[i].setSelectCommand(cmdSelect);
lists[i].addCommand(cmdAppend);
lists[i].addCommand(cmdDelete);
lists[i].addCommand(cmdDeleteAll);
lists[i].addCommand(cmdInsert);
lists[i].setCommandListener(this);
}
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(comList);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
/**
* 处理命令按钮事件
*/
public void commandAction(Command cmd, Displayable d) {
if (!(d instanceof List )) {
return;
}
if (cmd == cmdExit) {
destroyApp(true);
} else if (cmd == cmdBack) {
display.setCurrent(comList);
} else if (cmd == cmdSelect) {
List list = (List)d;
/* 下面的判断方法适合条目不变的情况,
switch(list.getSelectedIndex()) {
case 0:
showImgList();
break;
case 1:
showFontList();
break;
}
*/
int index = list.getSelectedIndex();
if (list.getString(index) == menuItems[0]) {
//带图标的List
showImgList();
} else if (list.getString(index) == menuItems[1]) {
//字体不同的List
showFontList();
} else if (list.getString(index) == menuItems[3]) {
//"MULTIPLE类型的List
showMultipleList();
} else if (list.getString(index) == menuItems[4]) {
//EXCLUSIVE类型的List
showExclusiveList();
}
} else if (cmd == cmdAppend) {
List list = (List)d;
list.append("追加条目" + (list.size()+1), null);
} else if (cmd == cmdDelete) {
//删除当前内容
List list = (List)d;
list.delete(list.getSelectedIndex());
} else if (cmd == cmdDeleteAll) {
//删除全部的内容
List list = (List)d;
list.deleteAll();
} else if (cmd == cmdInsert) {
//在但前位置插入条目
List list = (List)d;
list.insert(list.getSelectedIndex(),
"插入条目" + (list.size()+1), null);
}
}
//显示带图标的List
private void showImgList() {
Image img1, img2, img3;
try{
if (imgList.size()<menuItems.length) {
//清除原来的内容
imgList.deleteAll();
img1 = Image.createImage("/file.png");
img2 = Image.createImage("/folder.png");
img3 = Image.createImage("/color.png");
Image[] imgs = {img1, img2, img3, img1, img3};
for(int index = 0; index < menuItems.length; index++) {
imgList.append(menuItems[index], imgs[index]);
}
}
display.setCurrent(imgList);
}catch (Exception e) {
System.out.println("显示带图像的List时出错: " + e.toString());
}
}
//显示不同字体的List
private void showFontList() {
Font font1 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN,
Font.SIZE_MEDIUM);
Font font2 = Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_BOLD | Font.STYLE_ITALIC,
Font.SIZE_SMALL);
Font font3 = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_UNDERLINED,
Font.SIZE_LARGE);
fontList.setFont(0, font1);
fontList.setFont(1, font2);
fontList.setFont(2, font3);
display.setCurrent(fontList);
}
//MULTIPLE类型的List
private void showMultipleList() {
multipleList.deleteAll();
multipleList.append("选项1", null);
multipleList.append("选项2", null);
multipleList.append("选项3", null);
display.setCurrent(multipleList);
}
//EXCLUSIVE类型的List
private void showExclusiveList() {
exclusiveList.deleteAll();
exclusiveList.append("选项1", null);
exclusiveList.append("选项2", null);
exclusiveList.append("选项3", null);
display.setCurrent(exclusiveList);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -