📄 listdemo.java
字号:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class ListDemo extends MIDlet implements CommandListener {
private Display display;
private String[] colleges = {"大连理工", "清华大学",
"哈佛商学院", "大连交通大学"};
private String[] courses = {"哲学原理", "自动控制原理",
"翻译理论", "操作系统", "数据结构"};
private List menu, collList, courList;
private Command cmdExit = new Command("退出", Command.EXIT, 1);
private Command cmdSelect = new Command("选择", Command.ITEM, 1);
private Command cmdOK = new Command("确定", Command.ITEM, 1);
private Command cmdBack = new Command("返回", Command.BACK, 2);
public ListDemo() {
menu = new List("菜单", Choice.IMPLICIT); //单选类型
menu.append("高校列表", null);
menu.append("课程列表", null);
menu.setCommandListener(this);
}
public void startApp() {
display = Display.getDisplay(this);
menu.addCommand(cmdExit);
menu.setSelectCommand(cmdSelect);
display.setCurrent(menu);
}
public void pauseApp() {
//
}
public void destroyApp(boolean unconditional) {
//
}
public void commandAction(Command cmd, Displayable d) {
if(cmd == cmdSelect) {
int index = menu.getSelectedIndex();
String strElem = menu.getString(index);
if(strElem.equals("高校列表")) {
createCollageList(strElem);
display.setCurrent(collList);
}
else if(strElem.equals("课程列表")) {
createCourseList(strElem);
display.setCurrent(courList);
}
}
else if(cmd == cmdExit) {
notifyDestroyed();
}
else if(cmd == cmdOK) {
if(d == collList) {
//处理当选类型
int index = collList.getSelectedIndex();
String strElem = collList.getString(index);
TextBox tb = new TextBox("结果",
"您选择了:\n " + strElem, 125, TextField.ANY);
tb.addCommand(cmdBack);
tb.setCommandListener(this);
display.setCurrent(tb);
}
else if(d == courList) {
//处理多选类型
int n = courList.size();
boolean[] flags = new boolean[n];
courList.getSelectedFlags(flags);
StringBuffer sb = new StringBuffer();
sb.append("您选择了:\n");
for(int i=0; i<n; i++) {
if(flags[i]) {
sb.append(" ");
sb.append(courList.getString(i));
sb.append("\n");
}
}
TextBox tb = new TextBox("结果",
sb.toString(), 125, TextField.ANY);
tb.addCommand(cmdBack);
tb.setCommandListener(this);
display.setCurrent(tb);
}
}
else if(cmd == cmdBack) {
display.setCurrent(menu);
}
}
private void createCollageList(String title) {
if(collList == null) {
//单选类型
collList = new List(title, Choice.EXCLUSIVE, colleges, null);
collList.addCommand(cmdOK);
collList.addCommand(cmdBack);
collList.setCommandListener(this);
}
}
private void createCourseList(String title) {
if(courList == null) {
//多选类型
courList = new List(title, Choice.MULTIPLE, courses, null);
courList.addCommand(cmdOK);
courList.addCommand(cmdBack);
courList.setCommandListener(this);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -