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

📄 gradelist.java

📁 一款Java版的课程表软件
💻 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 + -