📄 inbox.java
字号:
package tom.jiafei;
import javax.microedition.lcdui.*;
import javax.wireless.messaging.TextMessage;
import java.util.Vector;
/**
* 该类描述了收件箱,提供了查看接收的短消息的功能。
*/
public class Inbox extends Form implements CommandListener {
private SMSMIDlet midlet;
private Vector contents;
private Vector phoneNumbers;
private int index = -1;
private StringItem siPN;
private StringItem siContent;
private Command cmdBack;
private Command cmdNext;
private Displayable backScreen;
public Inbox(SMSMIDlet midlet) {
super("收件箱");
this.midlet = midlet;
contents = new Vector();
phoneNumbers = new Vector();
//创建收件箱的图形用户界面
siPN = new StringItem("发件人:", "");
siContent = new StringItem("内容:", "");
append(siPN);
append(siContent);
cmdBack = new Command("返回", Command.BACK, 1);
cmdNext = new Command("下一条", Command.SCREEN, 2);
addCommand(cmdBack);
addCommand(cmdNext);
setCommandListener(this);
}
//箱收件箱中添加一条文本消息
public void add(TextMessage msg) {
String pn = msg.getAddress(); //发件人地址
int aindex = pn.indexOf(":");
phoneNumbers.addElement(pn.substring(aindex+1));
contents.addElement(msg.getPayloadText());
}
//显示收件箱用户界面
public void showUI(Displayable backScreen) {
this.backScreen = backScreen;
Display display = Display.getDisplay(midlet);
index = phoneNumbers.size();
if(index == 0) {
Alert alert = new Alert("信息", "收件箱空!!!!", null, AlertType.INFO);
alert.setTimeout(2000);
display.setCurrent(alert, backScreen);
}
else {
next();
display.setCurrent(this);
}
}
private void next() {
index--;
if(index == -1) {
index = phoneNumbers.size()-1;
}
siPN.setText((String)phoneNumbers.elementAt(index));
siContent.setText("\n" + (String)contents.elementAt(index));
}
//处理用户界面命令
public void commandAction(Command cmd, Displayable d) {
if(cmd == cmdBack) {
Display display = Display.getDisplay(midlet);
display.setCurrent(backScreen);
}
else if(cmd == cmdNext) {
next();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -