📄 selectiondialog.java
字号:
import javax.microedition.lcdui.*;
/**
* SelectionDialog类是个选择对话框。提供选项列表视图。
*/
public class SelectionDialog extends MicroComponent implements CommandListener {
public static final int OK = 0;
public static final int CANCEL = 1;
private Display display;
private SelectionDialogListener listener; //监视器
private int handle = -1; //用户执行的动作
private List selectList; //选项列表
private Command cmdOK = new Command("确定", Command.OK, 1);
private Command cmdCancel = new Command("取消", Command.CANCEL, 2);
//构造方法
public SelectionDialog(Display display, String title, int type) {
this.display = display;
selectList = new List(title, type);
if(type == Choice.MULTIPLE || type == Choice.EXCLUSIVE) {
selectList.addCommand(cmdOK);
}
else {
selectList.setSelectCommand(cmdOK);
}
selectList.addCommand(cmdCancel);
selectList.setCommandListener(this);
}
//添加选项
public void append(String item) {
selectList.append(item, null);
}
public String getSelectedItem() {
return selectList.getString(selectList.getSelectedIndex());
}
public int getSelectedIndex() {
return selectList.getSelectedIndex();
}
public int getSelectedFlags(boolean[] flags) {
return selectList.getSelectedFlags(flags);
}
//显示对话框
public void show() {
display.setCurrent(selectList);
}
//设置对话框监视器
public void setSelectionDialogListener(SelectionDialogListener listener) {
this.listener = listener;
}
//返回动作
public int getHandle() {
return handle;
}
//处理“确定”,“取消”命令
public void commandAction(Command cmd, Displayable d) {
if(cmd == cmdOK) {
handle = OK;
}
else if(cmd == cmdCancel) {
handle = CANCEL;
}
//回调监视器的方法,处理对话框动作
if(listener != null) {
listener.actionDialog(this);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -