recordlist.java
来自「本光盘是《J2ME无线移动游戏开发》一书的配套光盘」· Java 代码 · 共 92 行
JAVA
92 行
package ch12;
import java.util.*;
import javax.microedition.lcdui.*;
class RecordList
extends List
implements CommandListener {
//声明一个Display对象
private Display aDisplay;
//声明一个Displayable对象承载父窗体
private Displayable parent;
//声明一个确认按钮Command对象
private Command okCommand;
//声明一个返回上一级窗体按钮Command对象
private Command backCommand;
//声明一个代表记录详细信息的窗体对象
private Form detailForm;
//声明一个自定义的记录存储类对象
private RecordDB rdb;
//声明一个装载记录的向量
private Vector vectorRecord;
//声明一个装载记录的枚举集
private Enumeration enumerationVector;
//声明一个自定义的记录对象
private Record record;
//记录排序的方式,按姓名或按ID号
private int sortBy;
/*
1.构造器
*/
public RecordList(Display d, Displayable p, int _sortBy) {
super(null, Choice.IMPLICIT);
sortBy = _sortBy;
aDisplay = d;
parent = p;
initList();
okCommand = new Command("确认", Command.OK, 1);
backCommand = new Command("返回", Command.BACK, 1);
addCommand(backCommand);
addCommand(okCommand);
setCommandListener(this);
}
/*
2.初始化列表
*/
public void initList() {
rdb = new RecordDB();
//根据指定排序方式,获得Record对象
vectorRecord = rdb.getAllRecords(sortBy);
enumerationVector = vectorRecord.elements();
rdb.closeRS();
setTitle("记录列表");
while (enumerationVector.hasMoreElements()) {
record = (Record) enumerationVector.nextElement();
if (record.getID() < 10) {
append("0" + record.getID() + "|" + record.getName(), null);
}
else {
append(record.getID() + "|" + record.getName(), null);
}
}
}
/*
3.响应按钮事件
*/
public void commandAction(Command c, Displayable s) {
if (c == backCommand) {
aDisplay.setCurrent(parent);
}
else if (c == okCommand) {
detailForm = new RecordInfoForm(aDisplay, parent,
this.getString(this.getSelectedIndex()));
aDisplay.setCurrent(detailForm);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?