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

📄 mainframe.java

📁 电脑通过 gsm modem 收发短信
💻 JAVA
字号:
package gprs;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.LinkedList;
////////////////////////////////
////导入comm...jsmsengine包
import javax.comm.*;
import org.jsmsengine.*;
////////////////////////////////

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class MainFrame extends JFrame {
  ///////////////////////////////////
  //	Create jSMSEngine service.
  CService srv = new CService("com3", 9600);
  int status;
  ///////////////////////////////////
  JPanel contentPane;
  JButton jButton1 = new JButton();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTextArea jTextArea1 = new JTextArea();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();
  JScrollPane jScrollPane2 = new JScrollPane();
  JTextArea jTextArea2 = new JTextArea();
  JScrollPane jScrollPane3 = new JScrollPane();
  JTextArea jTextArea3 = new JTextArea();
  JButton jButton4 = new JButton();
  JTextField jTextField1 = new JTextField();
  JLabel jLabel1 = new JLabel();
  JButton jButton5 = new JButton();
  JButton jButton6 = new JButton();
  JScrollPane jScrollPane4 = new JScrollPane();
  JTextArea jTextArea4 = new JTextArea();

  //Construct the frame
  public MainFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }catch (Exception e) {
      e.printStackTrace();
    }
  }

  //Component initialization
  private void jbInit() throws Exception {
    contentPane = (JPanel)this.getContentPane();
    jButton1.setBounds(new Rectangle(9, 9, 102, 27));
    jButton1.setFont(new java.awt.Font("Dialog", 0, 16));
    jButton1.setToolTipText("");
    jButton1.setText("连接...");
    jButton1.addActionListener(new MainFrame_jButton1_actionAdapter(this));
    contentPane.setLayout(null);
    this.setSize(new Dimension(604, 497));
    this.setTitle("Frame Title");
    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScrollPane1.setBounds(new Rectangle(119, 9, 472, 125));
    jTextArea1.setText("");
    jButton2.setBounds(new Rectangle(9, 135, 102, 27));
    jButton2.setFont(new java.awt.Font("Dialog", 0, 16));
    jButton2.setText("发送");
    jButton2.addActionListener(new MainFrame_jButton2_actionAdapter(this));
    jButton3.setBounds(new Rectangle(9, 343, 102, 27));
    jButton3.setFont(new java.awt.Font("Dialog", 0, 16));
    jButton3.setText("接收");
    jButton3.addActionListener(new MainFrame_jButton3_actionAdapter(this));
    jScrollPane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    jScrollPane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScrollPane2.setBounds(new Rectangle(119, 174, 473, 75));
    jTextArea2.setText("");
    jScrollPane3.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    jScrollPane3.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScrollPane3.setBounds(new Rectangle(120, 345, 472, 147));
    jTextArea3.setText("");
    jButton4.setBounds(new Rectangle(9, 49, 102, 27));
    jButton4.setFont(new java.awt.Font("Dialog", 0, 16));
    jButton4.setText("断开连接");
    jButton4.addActionListener(new MainFrame_jButton4_actionAdapter(this));
    jTextField1.setFont(new java.awt.Font("Dialog", 0, 16));
    jTextField1.setText("");
    jTextField1.setBounds(new Rectangle(203, 140, 171, 22));
    jLabel1.setFont(new java.awt.Font("Dialog", 0, 16));
    jLabel1.setText("手机号码:");
    jLabel1.setBounds(new Rectangle(119, 140, 81, 22));
    jButton5.setBounds(new Rectangle(9, 92, 102, 27));
    jButton5.setFont(new java.awt.Font("Dialog", 0, 16));
    jButton5.setText("退出系统");
    jButton5.addActionListener(new MainFrame_jButton5_actionAdapter(this));
    jButton6.setBounds(new Rectangle(9, 258, 102, 27));
    jButton6.setFont(new java.awt.Font("Dialog", 0, 16));
    jButton6.setText("已发短信");
    jButton6.addActionListener(new MainFrame_jButton6_actionAdapter(this));
    jScrollPane4.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    jScrollPane4.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScrollPane4.setBounds(new Rectangle(120, 256, 473, 75));
    jTextArea4.setText("");
    contentPane.add(jScrollPane1, null);
    contentPane.add(jButton1, null);
    contentPane.add(jButton4, null);
    contentPane.add(jTextField1, null);
    contentPane.add(jButton2, null);
    contentPane.add(jLabel1, null);
    contentPane.add(jScrollPane2, null);
    contentPane.add(jButton5, null);
    contentPane.add(jScrollPane3, null);
    contentPane.add(jScrollPane4, null);
    contentPane.add(jButton6, null);
    contentPane.add(jButton3, null);
    jScrollPane4.getViewport().add(jTextArea4, null);
    jScrollPane3.getViewport().add(jTextArea3, null);
    jScrollPane2.getViewport().add(jTextArea2, null);
    jScrollPane1.getViewport().add(jTextArea1, null);
  }

  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);

    }
  }

  ////////.....连接.........
  void jButton1_actionPerformed(ActionEvent e) {
    String str = "";
    try {
      //	Initialize service.
      srv.initialize();
      //	Set the cache directory.
      srv.setCacheDir(".\\");
      //	Connect to GSM device.
      status = srv.connect();
      //	did we connect ok:
      if (status == CService.ERR_OK) {
        //	Set the operation mode to PDU
        srv.setOperationMode(CService.MODE_PDU);
        str = str + "Mobile Device Information: \n";
        str = str + "Manufacturer  : " + srv.getDeviceInfo().getManufacturer();
        str = str + "\nModel         : " + srv.getDeviceInfo().getModel();
        str = str + "\nSerial No     : " + srv.getDeviceInfo().getSerialNo();
        str = str + "\nIMSI          : " + srv.getDeviceInfo().getImsi();
        str = str + "\nS/W Version   : " + srv.getDeviceInfo().getSwVersion();
        str = str + "\nBattery Level : " + srv.getDeviceInfo().getBatteryLevel() +
            "%";
        str = str + "\nSignal Level  :  " + srv.getDeviceInfo().getSignalLevel() +
            "%";
        jTextArea1.setText(str);
      }
     // else {
     //   JOptionPane.showMessageDialog(this, "连接失败: " + status, "提示", 2);
      //}
    }
    catch (Exception ee) {
      JOptionPane.showMessageDialog(this, "连接失败zxcv", "提示", 2);
    }
  }

  ///////////发送短信...
  void jButton2_actionPerformed(ActionEvent e) {
    try {
      String text = jTextArea2.getText(); //短信内容
      String number = jTextField1.getText(); //手机号码
      ///////判断是否为空
      if (text.equals("") || number.equals("")) {
        JOptionPane.showConfirmDialog(this, "手机号码或短信内容不能为空", "错误", 0);
      }
      if (status == CService.ERR_OK) {

        System.out.println("status:"+status+"");
        System.out.println("CService.ERR_OK:"+CService.ERR_OK);

        //	Set the operation mode to PDU - default is ASCII.
        srv.setOperationMode(CService.MODE_PDU);
        //srv.setOperationMode(CService.MODE_ASCII);

        // Set the SMSC number (set to default).
        srv.setSmscNumber("");

        //	Create a COutgoingMessage object and dispatch it.
        //	*** Please update the phone number with one of your choice ***
        COutgoingMessage msg = new COutgoingMessage(number, text);

        //	Character set is 7bit by default - lets make it UNICODE :)
        //	We can do this, because we are in PDU mode (look at line 63). When in ASCII mode,
        //	this does not make ANY difference...
        msg.setMessageEncoding(CMessage.MESSAGE_ENCODING_UNICODE);

        if (srv.sendMessage(msg) == CService.ERR_OK) {
          //jLabel1.setText("信息发送成功...");
          JOptionPane.showMessageDialog(this, "信息发送成功", "恭喜", 1);
        }
        else{ //srv.sendMessage(msg) == CService.ERR_OK
          JOptionPane.showMessageDialog(this, "信息发送失败...", "对不起", 1);
        }
      }else{ //status == CService.ERR_OK
        JOptionPane.showMessageDialog(this, "信息发送失败...", "对不起", 1);
      }
    }
    catch (Exception ee) {
      JOptionPane.showMessageDialog(this, "...", "出错", 2);
    }
  }

  /////读取信息
  void jButton3_actionPerformed(ActionEvent e) {
    jTextArea3.setText("");
    if (status == CService.ERR_OK) {
      LinkedList msgList = new LinkedList();
      String mssg = "";
      //	Request to read all messages.
      if (srv.readMessages(msgList, CIncomingMessage.CLASS_ALL) == CService.ERR_OK) {
        //	Enumerate and print all messages.
        for (int i = 0; i < msgList.size(); i++) {
          CIncomingMessage msg = (CIncomingMessage) msgList.get(i);
          mssg = msg.getText();
          jTextArea3.append(mssg + "\n");

          //srv.deleteMessage(msg);//删除GSM Modem内的记录

          //System.out.println("记录删除成功.");

        }
      }
    }else {
      JOptionPane.showMessageDialog(this, "连接失败...", "对不起", 1);
    }
  }

  ////////断开连接
  void jButton4_actionPerformed(ActionEvent e) {
    srv.disconnect();
    jTextArea1.setText("");
    jTextArea1.setText("已经断开连接...");
  }

  ////退出系统
  void jButton5_actionPerformed(ActionEvent e) {
    srv.disconnect();
    System.exit(0);
  }
  ////已发短信
  void jButton6_actionPerformed(ActionEvent e) {

  }
}


class MainFrame_jButton1_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jButton1_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

class MainFrame_jButton3_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jButton3_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton3_actionPerformed(e);
  }
}

class MainFrame_jButton4_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jButton4_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton4_actionPerformed(e);
  }
}

class MainFrame_jButton2_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jButton2_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }
}

class MainFrame_jButton5_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jButton5_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton5_actionPerformed(e);
  }
}

class MainFrame_jButton6_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jButton6_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton6_actionPerformed(e);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -