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

📄 senderform.java

📁 J2ME程序设计实例教程的源码
💻 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 + -