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

📄 editordetailscreen.java

📁 J2ME的源码!我以前学习J2ME的源码哈!非常适合初学者
💻 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 + -