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

📄 baselistdemo.java

📁 手机编程初学
💻 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 + -