📄 editordetailscreen.java
字号:
package telphonebook;
import javax.microedition.io.ConnectionNotFoundException;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.rms.InvalidRecordIDException;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotOpenException;
public class EditorDetailScreen extends Form implements CommandListener {
private Displayable backScreen;
private StringItem nameField;
private TextField telField;
private TextField mobileTelField;
private TextField emailField;
private Account friend;
private int recordID;
public EditorDetailScreen(Displayable backScreen, Account friend,
int recordID) {
super(Constant.TITLE_EDITOR_DTAIL_SCREEN);
this.backScreen = backScreen;
this.friend = friend;
this.recordID = recordID;
initFriendDetail();
initCommand();
}
private void initCommand() {
addCommand(Constant.DIAL_MOBILE_TEL_COMMAND);
addCommand(Constant.DIAL_TEL_COMMAND);
addCommand(Constant.SED_MSG_COMMAND);
addCommand(Constant.SAVE_COMMAND);
addCommand(Constant.BACK_COMMAND);
setCommandListener(this);
}
private void initFriendDetail() {
nameField = new StringItem("", Constant.NAME + friend.getName());
telField = new TextField(Constant.TEL, friend.getTel(), 20,
TextField.PHONENUMBER);
mobileTelField = new TextField(Constant.MOBILE_TEL, friend
.getMobileTel(), 11, TextField.PHONENUMBER);
emailField = new TextField(Constant.EMAIL, friend.getEmail(), 30,
TextField.EMAILADDR);
append(nameField);
append(mobileTelField);
append(telField);
append(emailField);
}
public void commandAction(Command cmd, Displayable arg1) {
String label = cmd.getLabel();
if (label.equals(Constant.SAVE)) {
saveAccount();
} else if (label.equals(Constant.BACK)) {
Constant.diaplay.setCurrent(backScreen);
} else if (label.equals(Constant.DIAL_MOBILE_TEL)) {
dial(friend.getMobileTel(), 11);
} else if (label.equals(Constant.DIAL_TEL)) {
dial(friend.getTel(), 8);
} else if (label.equals(Constant.SEND_MSG)) {
toSendMsgScreen();
}
}
private void toSendMsgScreen() {
Constant.diaplay.setCurrent(new SendMsgScreen(friend.getName(), friend.getMobileTel(),this));
}
private void dial(String number, int legalLength) {
if (number.length() != legalLength) {
showError();
return;
}
// try {
// Integer.parseInt(number);
// } catch (NumberFormatException e) {
// showError();
// return;
// }
try {
Constant.midlet.platformRequest("tel:" + number);
} catch (ConnectionNotFoundException e) {
e.printStackTrace();
}
}
private void showError() {
Alert alert = new Alert("璀﹀憡", "涓嶅悎娉曠殑鐢佃瘽鍙风爜", null, AlertType.ALARM);
Constant.diaplay.setCurrent(alert);
}
private void saveAccount() {
try {
Account newFriend = new Account(friend.getName(), telField
.getString(), mobileTelField.getString(), emailField
.getString());
byte[] data = newFriend.encode();
Constant.telphoneStore.setRecord(recordID, data, 0, data.length);
} catch (RecordStoreNotOpenException e1) {
e1.printStackTrace();
} catch (InvalidRecordIDException e) {
e.printStackTrace();
} catch (RecordStoreFullException e) {
e.printStackTrace();
} catch (RecordStoreException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -