📄 addressbookmidlet.java
字号:
package AddressBook;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.rms.*;
import java.util.Vector;
import javax.microedition.io.*;
import java.util.Enumeration;
import javax.microedition.media.control.*;
import javax.microedition.media.*;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
/**AddressBookMIDlet.java
* 演示如何使用RMS中记录存储的管理
* 记录的管理和记录的查询排序
* 结合lcdui界面库使用GUI来操作RMS
*/
public class AddressBookMIDlet extends MIDlet implements CommandListener{
private Display display=null; //声明Display变量
Myplay play=null; //声明一个画布变量
public Image image;
Command search=null; //声明查询按钮
Command searchback=null;
List menu=null; //声明列表菜单
Form ui_form=null; //声明Form容器
List users=null; //词汇表操作功能
List items=null; //声明首字母列表
Command mainmenu=null; //声明主菜单按钮
Command opermenu=null; //声明操作表目录菜单按钮
Command infoback=null;
Command addnow=null; //声明增加按钮
Command addnowback=null; //声明返回按钮
Command edit=null; //声明修改按扭
Command editback=null; //声明修改返回按扭
Command delete=null; //声明删除按扭
Command deleteback=null; //声明删除返回按扭
Command show=null; //声明显示返回按扭
Command showback=null; //声明显示返回按扭
Command quit=null; //声明退出按钮
TextField word=null; //声明输入单词的TextField
TextField mean=null; //声明输入意思的TextField
TextField init=null; //声明输入单词的首字母的TextField
TextField wordedit=null; //声明修改单词的TextField
TextField meanedit=null; //声明修改意思的TextField
RecordStore recordStore=null; //声明记录存储
int searchway=0;
public AddressBookMIDlet() { //构造函数,执行必要的初始化工作
//用户界面初始化
display=Display.getDisplay(this);
mainmenu=new Command("主菜单",Command.SCREEN,2);
opermenu=new Command("操作表目录",Command.SCREEN,2);
addnow=new Command("添加",Command.SCREEN,2);
addnowback=new Command("返回",Command.BACK,1);
quit=new Command("退出",Command.EXIT,3);
search=new Command("查询",Command.SCREEN,2);
searchback=new Command("返回",Command.BACK,1);
edit=new Command("修改",Command.SCREEN,2);
editback=new Command("返回",Command.BACK,1);
delete=new Command("删除",Command.SCREEN,2);
deleteback=new Command("删除",Command.BACK,1);
show=new Command("显示",Command.SCREEN,2);
showback=new Command("返回",Command.BACK,1);
//记录存储初始化
try{
recordStore=RecordStore.openRecordStore("word",true);
}catch(RecordStoreException rse){
rse.printStackTrace();
}
}
//startApp,设置菜单选项及其监听
public void startApp() {
image=createImage("//image/ff.png");
Alert splashScreen; //声明一个 Alert对象,用来做刷新界面
if (image==null){
splashScreen = new Alert("开机图片出错",null,null,AlertType.INFO);
splashScreen.setTimeout(2000);
}else{
splashScreen = new Alert("开机画面",null,image,AlertType.INFO);
}
menu=new List("游戏",List.IMPLICIT);
menu.append("新游戏\n",createImage("//image/c1.png"));
menu.append("游戏难度\n",createImage("//image/c2.png"));
menu.append("最高分\n",createImage("//image/c3.png"));
menu.append("游戏说明\n",createImage("//image/c4.png"));
menu.append("词汇表操作\n",createImage("//image/c5.png"));
menu.append("关闭",createImage("//image/c6.png"));
menu.setCommandListener(this);
Display.getDisplay(this).setCurrent(splashScreen,menu);
}
//destroyApp 关闭应用程序
public void destroyApp(boolean unconditional) {
menu=null;
notifyDestroyed();
}
//事件处理
public void commandAction(Command c,Displayable d){
if(c==quit){ //按下关闭按钮,触发相应事件处理
try{
close(); //关闭记录存储
}catch(RecordStoreException rse){
rse.printStackTrace(); //销毁应用程序,触发相应事件处理
}
destroyApp(true);
}
else if(c==search){ //查询按扭,触发查询记录事件
String searstr=word.getString();
rec_search(searstr);
}
else if(c==addnow){ //添加按扭,触发添加记录事件
String wordstr=word.getString();
String meanstr=mean.getString();
rec_add(wordstr,meanstr);
}
else if(c==edit){ //修改按扭,触发修改记录事件
String wordstr=wordedit.getString();
String meanstr=meanedit.getString();
rec_edit(wordstr,meanstr);
}
else if(c==delete){ //删除按扭,触发删除记录事件
String wordstr=word.getString();
rec_delete(wordstr);
}
else if(c==mainmenu){ //按下主菜单,触发开始事件
startApp(); //重置
}
else if(c==opermenu){ //按下词汇表操作菜单,触发开始事件
Glos_operScreen(); //返回操作表界面
}
else if(c==show){ //按下显示按扭,触发根据首字母列表显示
String init_item=items.getString(items.getSelectedIndex());
inword_show(init_item);
}
else if(c==searchback){ //在查询记录界面下按返回按扭,触发查询界面
searchScreen();
}
else if(c==addnowback){ //在添加记录界面下按返回按扭,触发添加界面
addScreen();
}
else if(c==editback){ //在修改记录界面下按返回按扭,触发修改界面
editScreen();
}
else if(c==deleteback){ //在删除记录界面下按返回按扭,触发删除界面
deleteScreen();
}
else if(c==showback){ //在显示记录界面下按返回按扭,触发首字母列表界面
seeScreen();
}
else{
List down=(List)display.getCurrent();
int i=down.getSelectedIndex();
if (down==users) i=6+i; //在操作词汇表中的list事件响应避免与menu混淆
else if (down==items) i=12; //避免在显示首字母list事件响应
switch(i){
case 0: playScreen();break;
// case 1: addScreen();break;
// case 2: deleteScreen();break;
// case 3: editScreen();break;
case 4: Glos_operScreen();break; //进入词汇表操作界面
case 5: destroyApp(true);break; //退出
case 6: searchScreen(); break;
case 7: addScreen();break;
case 8: editScreen();break; //进入修改词汇表界面
case 9: deleteScreen();break; //进入删除词汇表界面
case 10: seeScreen();break; //进入浏览词汇表界面
case 11:destroyApp(true);break;
}
}
}
public Image createImage(String name){
Image image=null;
try{
image=Image.createImage(name);
}
catch (IOException e){
}
return image;
}
protected void pauseApp() {
}
void playScreen(){//游戏界面
play=new Myplay();
display.setCurrent(play);
// try{
//Manager.playTone(ToneControl.C4,500,50);
// }
// catch(MediaException me){
// }
}
void Glos_operScreen(){//词汇表操作
users=new List("词汇表操作",List.IMPLICIT);
users.append("查询词汇\n",createImage("//image/c1.png"));
users.append("添加词汇\n",createImage("//image/c2.png"));
users.append("修改词汇\n",createImage("//image/c3.png"));
users.append("删除词汇\n",createImage("//image/c4.png"));
users.append("浏览词汇表\n",createImage("//image/c5.png"));
users.append("退出\n",createImage("//image/c6.png"));
display.setCurrent(users);
users.setCommandListener(this);
}
//查询词汇界面
void searchScreen(){
ui_form=new Form("词汇表查询");
word=new TextField("单词查询","",50,0);
searchway=1;
ui_form.append(word);
ui_form.addCommand(search);
ui_form.addCommand(mainmenu);
ui_form.addCommand(quit);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
//添加词汇界面
void addScreen(){
ui_form=new Form("添加词汇");
word=new TextField("单词","",50,TextField.ANY);
ui_form.append(word);
mean=new TextField("意思","",50,TextField.ANY);
ui_form.append(mean);
init=new TextField("首字母","",50,0);
ui_form.addCommand(addnow);
ui_form.addCommand(mainmenu);
ui_form.addCommand(quit);
ui_form.setCommandListener(this);
display.setCurrent(ui_form);
}
//修改词汇表界面
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -