📄 baselistdemo.java
字号:
package ch09.section01;
import javax.microedition.lcdui.*;
//BaseListDemo类为所有列表类控件的容器框架类,并且提供一个统一的返回按钮。
public abstract class BaseListDemo
extends List
implements CommandListener {
//存储本实例中涉及到的所有按钮
private Command[] commands = UIDemo.getDemoCommands();
//获取与按钮匹配的事件
private Runnable[] callbacks = UIDemo.getDemoActions();
//获取与列表匹配的事件
private Runnable[] listCallbacks;
//构造器用于创建一个给定窗体标题的框架对象。
public BaseListDemo(String title) {
super(title, IMPLICIT);
initCommands();
}
//构造器用于创建一个给定窗体标题的框架对象。
public BaseListDemo(String title, String[] data) {
super(title, IMPLICIT, data, null);
initCommands();
}
//添加事件监听器
private void initCommands() {
setCommandListener(this);
for (int iter = 0; iter < commands.length; iter++) {
addCommand(commands[iter]);
}
listCallbacks = getListCallbacks();
}
//用于响应按钮事件
public void commandAction(Command c, Displayable d) {
for (int iter = 0; iter < commands.length; iter++) {
if (commands[iter] == c) {
callbacks[iter].run();
return;
}
}
//用于响应列表事件
listCallbacks[getSelectedIndex()].run();
}
protected abstract Runnable[] getListCallbacks();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -