?? personalinfo.java
字號:
// 用RMS記錄個人信息
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
import java.util.Enumeration;
import java.util.*;
public class PersonalInfo extends MIDlet implements CommandListener {
RecordStore recordStore =null;
Display display = null; // 設備的顯示器
List list = null;
TextField nameField; // 姓名文本域
TextField phoneField; //電話號碼文本域
TextField emailField; //電子郵件文本域
String name, phone, email;
private int[] recID;
boolean isAdd; // 值為true時為增加記錄,否則為修改記錄
Ticker ticker = new Ticker("個人信息 "); //實例化Ticker對象
static final Command EXIT = new Command("退出",Command.STOP,1); //實例化命令
static final Command BACK = new Command("返回",Command.BACK,2);
static final Command VIEW = new Command("查看和修改記錄",Command.OK,3);
static final Command ADD = new Command("添加新記錄",Command.OK,3);
static final Command DEL = new Command("刪除當前記錄",Command.OK,3);
static final Command DEL_ALL = new Command("刪除所有記錄",Command.OK,3);
static final Command SAVE = new Command("保存",Command.OK,3);
public PersonalInfo() {
}
// 重載抽象類MIDlet的抽象方法startApp()
public void startApp() {
display = Display.getDisplay(this); //獲取顯示器
try {
recordStore = RecordStore.openRecordStore("PersonalInfo", true); //實例化記錄存儲區(qū)
} catch(Exception e) {
}
list = new List("個人信息",Choice.IMPLICIT); //實例化列表
list.addCommand(EXIT); //增加控制命令
list.addCommand(ADD);
list.setCommandListener(this);
list.setTicker(ticker);
list.setCommandListener(this);
listRec();
}
// 重載抽象類MIDlet的方法pauseApp()
public void pauseApp() {
}
// 重載抽象類MIDlet的方法destroyApp()
public void destroyApp(boolean unconditional) {
}
public void listRec() {
list.deleteAll(); //刪除列表元素
try {
int numRec = recordStore.getNumRecords(); //獲取記錄數(shù)
if(numRec > 0) {
list.addCommand(VIEW);
list.addCommand(DEL);
list.addCommand(DEL_ALL);
recID = new int [numRec];
RecordEnumeration re = recordStore.enumerateRecords(null,null,true); //記錄枚舉對象
int i = 0;
while(re.hasNextElement()) { //遍歷記錄
recID[i] = re.nextRecordId();
name = PersonalRecord.getName(recordStore.getRecord(recID[i])); //獲取名稱
list.append(name,null); //增加列表元素
i++;
}
} else {
list.removeCommand(VIEW);
list.removeCommand(DEL);
list.removeCommand(DEL_ALL);
}
} catch (RecordStoreException rse) {
}
display.setCurrent(list);
}
public void viewRecScreen() { //顯示記錄信息
Form view = new Form("個人信息"); //創(chuàng)建表單
nameField = new TextField("姓名:",name,20,TextField.ANY); //創(chuàng)建文本域
phoneField = new TextField("電話:",phone,20,TextField.NUMERIC);
emailField = new TextField("E-Mail:",email,20,TextField.EMAILADDR);
view.append(nameField); //增加文本域到表單
view.append(phoneField);
view.append(emailField);
view.addCommand(BACK);
view.addCommand(SAVE);
view.setCommandListener(this);
display.setCurrent(view); //設置當前顯示屏幕
}
public void viewRec() {
isAdd = false;
try {
byte[] b = recordStore.getRecord(recID[list.getSelectedIndex()]);
name = PersonalRecord.getName(b); //獲取名稱
phone = PersonalRecord.getPhone(b); //獲取電話
email = PersonalRecord.getEmail(b); //獲取電子郵件
} catch(Exception e) {
}
viewRecScreen(); //顯示信息
}
public void addRec() { //增加記錄
isAdd = true;
name = null;
phone = null;
email = null;
viewRecScreen();
}
public void saveRec() { //存儲記錄
name = nameField.getString(); //獲取用戶輸入
phone = phoneField.getString();
email = emailField.getString();
if (!(name.trim().equals(""))) {
byte[] b = PersonalRecord.createRecord(name,phone,email); //創(chuàng)建一條記錄
try {
if(isAdd) {
recordStore.addRecord(b,0,b.length); //增加記錄
} else {
recordStore.setRecord(recID[list.getSelectedIndex()],b,0,b.length); //修改記錄
}
} catch(Exception e) {
}
}
}
public void delRec(int i) {
try{
recordStore.deleteRecord(i); //刪除記錄
} catch(Exception e) {
}
}
public void delAllRec() { //刪除所有記錄
try {
String dbName = recordStore.getName();
recordStore.closeRecordStore(); //關(guān)閉記錄存儲區(qū)
RecordStore.deleteRecordStore(dbName); //刪除記錄存儲區(qū)
} catch (RecordStoreException rsnoe) {
}
}
// 實現(xiàn)接口CommandListener的方法
public void commandAction(Command c, Displayable d) {
if (c == ADD) {
addRec();
} else if (c == List.SELECT_COMMAND || c == VIEW) {
viewRec();
} else if(c == DEL) {
delRec(recID[list.getSelectedIndex()]);
listRec();
} else if (c == DEL_ALL) {
delAllRec();
startApp();
} else if (c == EXIT) {
destroyApp(false);
notifyDestroyed();
} else if (c == BACK) {
display.setCurrent(list);
} else if (c == SAVE) {
saveRec();
listRec();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -