📄 highscoreform.java
字号:
/**
*
* 最高分界面
*
*
*/
package card;
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.RecordStore;
import card.stringtable.ImageStringTable;
import card.stringtable.TextString;
public class HighScoreForm extends Form implements CommandListener{
Display display = null;
Command cmdBack = null;
Command cmdExit = null;
StringItem siHighScore = null;
ImageItem iiFigure = null;
Image imgFigure = null;
RecordStore rsInfo = null;
String strHighScore = null;
int iFigure = 0;
public HighScoreForm(Display display) {
super(TextString.getTxtHighScoreTitleString());
this.display = display;
cmdBack = new Command(TextString.getTxtCmdBackString(), Command.BACK, 1);
cmdExit = new Command(TextString.getTxtCmdExitString(), Command.EXIT, 1);
addCommand(cmdBack);
addCommand(cmdExit);
setCommandListener(this);
}
public void init() {
boolean bSuccess = true;
try {
// 读取记录集中的最高分记录
rsInfo = RecordStore.openRecordStore(TextString.getTxtRecordSetNameString(), true);
if (rsInfo.getNumRecords() != 0) {
byte[] btHighScore = rsInfo.getRecord(1);
ByteArrayInputStream baosInfo = new ByteArrayInputStream(btHighScore);
DataInputStream disInfo = new DataInputStream(baosInfo);
int iHighScore = disInfo.readInt();
iFigure = disInfo.readInt();
disInfo.close();
strHighScore = String.valueOf(iHighScore);
}else {
strHighScore = TextString.getTxtNoRecordSetString();
}
rsInfo.closeRecordStore();
// 根据记录的内容判断载入的头像
switch (iFigure) {
case 0:
imgFigure = Image.createImage(ImageStringTable.getImgFigure1String());
break;
case 1:
imgFigure = Image.createImage(ImageStringTable.getImgFigure2String());
break;
case 2:
imgFigure = Image.createImage(ImageStringTable.getImgFigure3String());
break;
case 3:
imgFigure = Image.createImage(ImageStringTable.getImgFigure4String());
break;
}
iiFigure = new ImageItem(TextString.getTxtFigureString(), imgFigure, ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_VCENTER, TextString.getTxtFigureString());
}catch (IOException e) { //图片载入错误处理
ErrorHandling ehIOException = new ErrorHandling(display, ErrorHandling.IMGNOTFOUND);
bSuccess = false;
}catch (Exception e) { //记录集读取错误处理
ErrorHandling ehIOException = new ErrorHandling(display, ErrorHandling.RECORDSETERROR);
bSuccess = false;
}
if (bSuccess) { //载入成功则显示最高分和头像
siHighScore = new StringItem(TextString.getTxtHighScoreString(), strHighScore, Item.PLAIN);
append(siHighScore);
if (!strHighScore.equals(TextString.getTxtNoRecordSetString())) {
append(iiFigure);
}
}
}
public void commandAction(Command c, Displayable d) { //退出和返回按键处理
if (c == cmdBack) {
MainMenuCanvas cvsMainMenu = new MainMenuCanvas(display);
display.setCurrent(cvsMainMenu);
cvsMainMenu.init();
}else if (c == cmdExit) {
CardMainMIDlet.quitApp();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -