📄 dialog.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 + -