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

📄 dialog.java

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

import javax.microedition.lcdui.*;

public abstract class Dialog {
    
    protected Display display;
    protected DialogListener listener;//监听器
    protected Displayable restore;//主要存储当前屏幕
    private int eventID;
    
    //构造器中持有display对象,方便调用setCurrent()方法
    protected Dialog(Display display) {
        this.display = display;
    }
    
    //根据用户的选择,调用监听器的方法
    public void dismiss(int code) {
        Displayable curr = display.getCurrent();
        //当前界面不是对话框,方法直接返回
        if (curr != getDisplayable())
            return;
        if (restore != null) {
            display.setCurrent(restore);
        } else {
            display.setCurrent(new Form("任意界面"));
        }
        //如果不注册监听器,那么不会执行任何操作
        if (listener != null) {
            listener.dialogDismissed(this, code);
        }
    }
    
    public void display() {
        Displayable curr = display.getCurrent();
        Displayable dialog = getDisplayable();
        if (curr != dialog) {
            //将当前界面存储起来
            restore = curr;
            display.setCurrent(dialog);
        }
    }
    
    public void display(int event) {
        Displayable curr = display.getCurrent();
        Displayable dialog = getDisplayable();
        this.eventID = event;
        if (curr != dialog) {
            //存储当前界面
            restore = curr;
            display.setCurrent(dialog);
        }
    }

    //子类需要实现此方法,返回用作对话框的界面,比如Canvas或者Form
    protected abstract Displayable getDisplayable();
    //设计监听器
    public void setDialogListener(DialogListener l) {
        listener = l;
    }
    
}

⌨️ 快捷键说明

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