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

📄 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;
    //模型
    private Model model;
    // 视图定义
    private AddEntryUI addEntryUI;
    private DetailUI detailUI;
    private EditEntryUI editEntryUI;
    private ListEntryUI listEntryUI;
    
    public PhoneBookMIDlet() {
        super();
        display = Display.getDisplay(this);
        model = new Model();
        //初始化各种视图
        addEntryUI = new AddEntryUI(this);
        detailUI = new DetailUI(this);
        editEntryUI = new EditEntryUI(this);
        listEntryUI = new ListEntryUI(this);
    }
    
    protected void startApp() {
        Entry[] all = model.getAll();
        listEntryUI.load(all);
        handleCommand(Controller.SHOW_LIST_ENTRY, null);
    }
    
    protected void pauseApp() {}
    
    protected void destroyApp(boolean unconditional) {}
    //根据用户的请求(定义在command参数中)做出响应,例如更新模型等
    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("号码添加完成", 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("号码已经更新", 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("删除成功", 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("系统提示", msg, null, AlertType.INFO);
        alert.setTimeout(Alert.FOREVER);
        display.setCurrent(alert, d);
    }
    
    private void show(Displayable d) {
        display.setCurrent(d);
    }
    
}

⌨️ 快捷键说明

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