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

📄 selectiondialog.java

📁 J2ME程序设计实例教程的源码
💻 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 + -