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

📄 phonebookmidlet.java

📁 <j2me 开发精解> 詹建光著 里所有的源码。对J2me的开发相当有帮助
💻 JAVA
字号:
package com.j2medev.chapter3.phonebook;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

import com.j2medev.chapter3.phonebook.ui.*;

public class PhoneBookMIDlet extends MIDlet implements Controller {

    private Display display;

    // model:
    private Model model;
    // view:
    private AddEntryUI addEntryUI;
    private DetailUI detailUI;
    private EditEntryUI editEntryUI;
    private ListEntryUI listEntryUI;

    public PhoneBookMIDlet() {
        super();
        display = Display.getDisplay(this);
        model = new Model();
        // init view:
        addEntryUI = new AddEntryUI(this);
        detailUI = new DetailUI(this);
        editEntryUI = new EditEntryUI(this);
        listEntryUI = new ListEntryUI(this);
    }

    public void handleCommand(int command, Object arg) {
        switch(command) {
        case Controller.SHOW_LIST_ENTRY:
            show(listEntryUI);
            break;
        case Controller.SHOW_ADD_ENTRY:
            addEntryUI.clear();
            show(addEntryUI);
            break;
        case Controller.DO_ADD_ENTRY:
            model.addEntry((Entry)arg);
            refresh();
            show("Add entry OK.", listEntryUI);
            break;
        case Controller.SHOW_EDIT_ENTRY:
            editEntryUI.load((Entry)arg);
            show(editEntryUI);
            break;
        case Controller.DO_UPDATE_ENTRY:
            model.updateEntry((Entry)arg);
            refresh();
            show("Entry updated.", listEntryUI);
            break;
        case Controller.SHOW_DETAIL_ENTRY:
            detailUI.load((Entry)arg);
            show(detailUI);
            break;
        case Controller.DO_REMOVE_ENTRY:
            model.removeEntry((Entry)arg);
            refresh();
            show("Removed entry OK.", listEntryUI);
            break;
        case Controller.APP_EXIT:
            destroyApp(true);
            notifyDestroyed();
            break;
        }
    }

    private void refresh() {
        Entry[] all = model.getAll();
        listEntryUI.load(all);
    }

    private void show(String msg, Displayable d) {
        Alert alert = new Alert("Message", msg, null, AlertType.INFO);
        alert.setTimeout(Alert.FOREVER);
        display.setCurrent(alert, d);
    }

    private void show(Displayable d) {
        display.setCurrent(d);
    }

    protected void startApp() {
        Entry[] all = model.getAll();
        listEntryUI.load(all);
        handleCommand(Controller.SHOW_LIST_ENTRY, null);
    }

    protected void pauseApp() {}

    protected void destroyApp(boolean unconditional) {}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -