📄 senderform.java
字号:
package tom.jiafei;
import javax.microedition.io.Connector;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;
import java.io.IOException;
import javax.microedition.lcdui.*;
/**
* 该类提供了短信息输入界面和发送的功能。
* 每次发送短信,都会产生一个线程,在这个线程中完成短消息的发送。
*/
public class SenderForm extends Form implements Runnable, CommandListener {
private SMSMIDlet midlet;
private String desPort; //目的端口
private String receiverAddress = ""; //收件人地址
private String messageContent = ""; //发送的消息
private TextField tfPhoneNumber;
private TextField tfMessageContent;
private Command cmdBack = new Command("返回", Command.BACK, 1);
private Command cmdSend = new Command("发送", Command.SCREEN, 2);
public SenderForm(SMSMIDlet midlet, String desPort) {
super("编辑短消息");
this.midlet = midlet;
this.desPort = desPort;
//构造用户界面
tfPhoneNumber = new TextField("收件人号码:", "", 20, TextField.PHONENUMBER);
tfMessageContent = new TextField("消息内容:", "", 140, TextField.ANY);
tfMessageContent.setPreferredSize(-1, 100);
append(tfPhoneNumber);
append(tfMessageContent);
addCommand(cmdBack);
addCommand(cmdSend);
setCommandListener(this);
}
//显示信息输入界面
public void showUI() {
Display display = Display.getDisplay(midlet);
display.setCurrent(this);
}
//处理用户界面命令
public void commandAction(Command cmd, Displayable displayable) {
if(cmd == cmdBack) { //返回命令
midlet.backToMainMenu();
}
else if(cmd == cmdSend) { //发送命令
this.messageContent = tfMessageContent.getString();
this.receiverAddress = tfPhoneNumber.getString();
if(!receiverAddress.equals("")) {
//创建并启动短消息发送线程
Thread t = new Thread(this);
t.start();
}
}
}
//短消息发送线程执行体,建立连接并发送短信息
public void run() {
try{
String smsUrl = "sms://"+receiverAddress+":"+desPort;
MessageConnection msgConn = (MessageConnection)Connector.open(smsUrl);
TextMessage textMessage = (TextMessage)msgConn.newMessage(MessageConnection.TEXT_MESSAGE);
textMessage.setPayloadText(messageContent);
msgConn.send(textMessage);
msgConn.close();
}
catch(IOException ioe) {
midlet.showError("发送信息错误!\n" + ioe.toString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -