📄 gradelist.java
字号:
package ui;
import java.io.UnsupportedEncodingException;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;
import javax.microedition.rms.InvalidRecordIDException;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotFoundException;
import javax.microedition.rms.RecordStoreNotOpenException;
import clasAn.ClasAnsistMIDlet;
import clasAn.core.About;
import clasAn.core.GUIInfo;
public class GradeList extends List implements CommandListener {
// 以下为UI组件
private ClasAnsistMIDlet clasAnsistMIDlet;
private Display display;
private Command cmdOK;
private Command cmdQuit;
private Command cmdAdd;
private Command cmdDel;
private Command cmdAbout;
// 以下为细节属性
private String grades[] = new String[10];
private int[] gradesID = new int[10];
private int gradesNum = 0;
int gradeRcords = 0;
public GradeList(ClasAnsistMIDlet c) {
super(GUIInfo.SOFTWARE_NAME, List.IMPLICIT);
this.clasAnsistMIDlet = c;
display = Display.getDisplay(clasAnsistMIDlet);
gradesNum = 0;
cmdOK = new Command(GUIInfo.COMMAND_OK, Command.SCREEN, 1);
cmdQuit = new Command(GUIInfo.COMMAND_EXIT, Command.EXIT, 9);
cmdAdd = new Command(GUIInfo.COMMAND_ADD, Command.SCREEN, 2);
cmdDel = new Command(GUIInfo.COMMAND_DEL, Command.SCREEN, 3);
cmdAbout = new Command(GUIInfo.COMMAND_ABOUT, Command.SCREEN, 4);
addCommand(cmdOK);
addCommand(cmdAdd);
addCommand(cmdDel);
addCommand(cmdQuit);
addCommand(cmdAbout);
setCommandListener(this);
System.out.println("读取班级目录");
this.readGradesToList();
if (gradesNum != 0) {
for (int i = 0; i < gradesNum; i++) {
this.append(grades[i], null);
System.out.println(grades[i]);
}
} else {
this.append("<空>", null);
}
}
private void readGradesToList() {
String tmpStr = "";
try {
RecordStore rsDate = RecordStore.openRecordStore(
GUIInfo.GRADES_RECORD, false);
gradeRcords = rsDate.getNumRecords();
if (gradeRcords != 0) {
grades = new String[gradeRcords];
gradesID = new int[gradeRcords];
for (int i = 0; i < gradeRcords; i++) {
tmpStr = new String(rsDate.getRecord(i + 1), "UTF-8");
if (tmpStr.startsWith("@"))
continue;
else {
grades[gradesNum] = tmpStr;
gradesID[gradesNum] = i + 1;
gradesNum++;
}
}
System.out.println(rsDate.getSizeAvailable());
rsDate.closeRecordStore();
// if(gradesNum==0) this.delRS();
System.out.println(gradesNum);
}
} catch (RecordStoreFullException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("第一次創建");
} catch (RecordStoreNotOpenException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidRecordIDException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void delOneGrade(int index) {
String tmpStr = "";
if (gradesNum != 0) {
try {
RecordStore rsDate = RecordStore.openRecordStore(
GUIInfo.GRADES_RECORD, false);
for (int i = 0; i < gradesNum; i++) {
if (this.getString(index).endsWith(grades[i])) {
tmpStr = this.getString(index);
tmpStr = "@" + tmpStr;
System.out.println(tmpStr);
rsDate.setRecord(gradesID[i], tmpStr.getBytes(), 0,
tmpStr.getBytes().length);
break;
}
}
rsDate.closeRecordStore();
} catch (RecordStoreFullException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreNotOpenException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidRecordIDException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tmpStr = this.getString(index);
try {
RecordStore.deleteRecordStore(tmpStr);
} catch (RecordStoreNotFoundException e) {
System.out.println("不存在" + tmpStr);
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// private void delRS() {
// try {
// RecordStore.deleteRecordStore(GUIInfo.GRADES_RECORD);
// } catch (RecordStoreNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (RecordStoreException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
public void commandAction(Command c, Displayable d) {
if (c == cmdQuit) {
System.out.println("退出");
clasAnsistMIDlet.quitApp();
} else if (c == cmdAdd) {
System.out.println("添加");
this.display.setCurrent(new AddGradeForm(this.clasAnsistMIDlet,
gradesNum));
} else if (c == cmdDel) {
System.out.println("删除" + this.getSelectedIndex());
delOneGrade(this.getSelectedIndex());
display.setCurrent(new GradeList(this.clasAnsistMIDlet));
} else if (c == cmdOK) {
System.out.println("OK!" + this.getString(this.getSelectedIndex()));
if (gradesNum != 0)
display.setCurrent(new WeekDayList(this.getString(this
.getSelectedIndex()), this.clasAnsistMIDlet));
} else if (c == cmdAbout) {
About.showAbout(this.display);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -