⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listdemo.java

📁 J2ME程序设计实例教程的源码
💻 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 + -