📄 smscframe.java
字号:
package smgpgw;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import sun.net.ftp.*;
import java.lang.*;
import javax.swing.event.*;
import com.borland.jbcl.layout.*;
import java.beans.*;
/**
* Title: MbeSimulator
* Description:
* Copyright: Copyright (c) 2002
* Company:
* @author
* @version 1.0
*/
public class SMSCFrame extends JFrame {
JLabel lblRecv = new JLabel();
JLabel lblSend = new JLabel();
JMenu Help = new JMenu();
JMenu File = new JMenu();
JMenu Send = new JMenu();
JMenu View = new JMenu();
JMenu Option = new JMenu();
JMenuBar SMSCMenu = new JMenuBar();
JMenuItem ItemFileExit = new JMenuItem();
JMenuItem ItemHelpAbout = new JMenuItem();
JMenuItem SetContent = new JMenuItem();
JMenuItem ItemStart = new JMenuItem();
JMenuItem ItemStop = new JMenuItem();
JMenuItem ItemClearRecv = new JMenuItem();
JMenuItem ItemClearSend = new JMenuItem();
JMenuItem ItemPay = new JMenuItem();
JMenuItem ItemSend = new JMenuItem();
JMenuItem ItemCancelSend = new JMenuItem();
JCheckBoxMenuItem ItemActive = new JCheckBoxMenuItem();
JCheckBoxMenuItem ItemBinary = new JCheckBoxMenuItem();
JCheckBoxMenuItem ItemMsg = new JCheckBoxMenuItem();
SendDataThread sendThread = null;
XYLayout xYlay = new XYLayout();
JScrollPane scrRecv = new JScrollPane();
JScrollPane scrSend = new JScrollPane();
public static JTextArea RecvArea = new JTextArea();
public static JTextArea SendArea = new JTextArea();
/**Construct the frame*/
public SMSCFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
} catch(Exception e) {
e.printStackTrace();
}
init();
}
private void init() {
ItemActive.setSelected(false);
ItemBinary.setSelected(false);
ItemMsg.setSelected(false);
ItemStart.setEnabled(true);
ItemStop.setEnabled(false);
}
private void jbInit() throws Exception {
int x, y;
Dimension dmSize = new Dimension();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
//this.setLocation(0,0);
x = 0;
y = 0;
this.setSize(800,600);
if(screenSize.width > 800)
x = (screenSize.width - 800)/2;
if(screenSize.height > 600)
y = (screenSize.height - 600)/2;
this.setLocation(x,y);
// this.setLocation(0,10);
ItemFileExit.setText("退出");
ItemFileExit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(88, java.awt.event.KeyEvent.CTRL_MASK, false));
ItemFileExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemFileExit_actionPerformed();
}
}
);
ItemFileExit.addMouseListener(
new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
ItemFileExit_actionPerformed();
}
}
);
ItemHelpAbout.setText("About ...");
SetContent.setText("设置短信内容");
SetContent.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
SetContent_actionPerformed(e);
}
}
);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
this_windowClosing(e);
}
}
);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.setResizable(false);
this.setTitle("小灵通短信网关模拟器");
this.getContentPane().setLayout(xYlay);
ItemStart.setText("启动短信网关");
ItemStart.setAccelerator(javax.swing.KeyStroke.getKeyStroke(83, java.awt.event.KeyEvent.CTRL_MASK, false));
ItemStart.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemStart_actionPerformed(e);
}
}
);
xYlay.setWidth(800);
xYlay.setHeight(600);
RecvArea.setEditable(false);
SendArea.setEditable(false);
View.setContentAreaFilled(false);
ItemClearRecv.setText("清除接收窗口");
ItemClearRecv.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemClearRecv_actionPerformed(e);
}
}
);
ItemClearSend.setText("清除发送窗口");
ItemClearSend.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemClearSend_actionPerformed(e);
}
}
);
ItemActive.setRequestFocusEnabled(false);
ItemActive.setText("显示ACTIVE_TEST");
ItemActive.setSelected(false);
ItemActive.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemActive_actionPerformed(e);
}
}
);
ItemBinary.setText("显示二进制报文信息");
ItemBinary.setSelected(false);
ItemBinary.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemBinary_actionPerformed(e);
}
}
);
ItemMsg.setText("显示报文信息");
ItemMsg.setSelected(false);
ItemMsg.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemMsg_actionPerformed(e);
}
}
);
File.setText("文件");
View.setText("显示");
Help.setText("帮助");
Option.setText("选项");
Send.setText("发送");
Send.addMenuListener(new javax.swing.event.MenuListener() {
public void menuSelected(MenuEvent e) {
Send_menuSelected(e);
}
public void menuDeselected(MenuEvent e) {}
public void menuCanceled(MenuEvent e) {}
}
);
ItemSend.setText("发送消息包");
ItemSend.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemSend_actionPerformed(e);
}
}
);
ItemCancelSend.setText("取消发送");
ItemCancelSend.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemCancelSend_actionPerformed(e);
}
}
);
ItemPay.setText("投 注");
ItemPay.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemPay_actionPerformed(e);
}
}
);
lblRecv.setText("接收信息显示窗口");
lblSend.setText("发送信息显示窗口");
ItemStop.setText("停止短信网关");
ItemStop.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
ItemStop_actionPerformed(e);
}
}
);
scrRecv.setAutoscrolls(true);
scrSend.setAutoscrolls(true);
File.add(ItemStart);
File.add(ItemStop);
File.add(ItemFileExit);
Help.add(ItemHelpAbout);
Option.add(SetContent);
View.add(ItemClearRecv);
View.add(ItemClearSend);
View.add(ItemActive);
View.add(ItemBinary);
View.add(ItemMsg);
Send.add(ItemSend);
Send.add(ItemCancelSend);
Send.add(ItemPay);
SMSCMenu.add(File);
SMSCMenu.add(Send);
SMSCMenu.add(View);
SMSCMenu.add(Option);
SMSCMenu.add(Help);
this.setJMenuBar(SMSCMenu);
this.getContentPane().add(scrSend, new XYConstraints(400, 29, 390, 521));
this.getContentPane().add(scrRecv, new XYConstraints(0, 29, 390, 521));
this.getContentPane().add(lblSend, new XYConstraints(400, 0, 390, 28));
this.getContentPane().add(lblRecv, new XYConstraints(0, 0, 390, 28));
scrRecv.getViewport().add(RecvArea, null);
scrSend.getViewport().add(SendArea, null);
dmSize.width = (this.getWidth() - 20) /2;
dmSize.height = this.getHeight() - 52;
}
void ItemFileExit_actionPerformed() {
System.exit(0);
}
void SetContent_actionPerformed(ActionEvent e) {
int x, y;
Dimension screenSize, dmSize;
SetSMDlg smDlg = new SetSMDlg();
smDlg.setModal(true);
smDlg.setTitle("MO_DELIVER消息缺省内容设置");
dmSize = smDlg.panelSM.getPreferredSize();
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
x = (int)(screenSize.getWidth() - dmSize.getWidth())/2;
y = (int)(screenSize.getHeight() - dmSize.getHeight())/2;
smDlg.setSize(dmSize);
smDlg.setLocation(x, y);
smDlg.show();
}
void this_windowClosing(WindowEvent e) {
System.exit(0);
}
void ItemSend_actionPerformed(ActionEvent e) {
int x, y;
Dimension dmSize, screenSize;
SendMsg dlgSend = new SendMsg();
dmSize = dlgSend.getPreferredSize();
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
x = (int)(screenSize.getWidth() - dmSize.getWidth())/2;
y = (int)(screenSize.getHeight() - dmSize.getHeight())/2;
dlgSend.setModal(true);
dlgSend.setSize(dmSize);
dlgSend.setLocation(x, y);
dlgSend.show();
if(dlgSend.bDlgFlag) {
if(Constants.SMSC_DEBUG)
SMSCFrame.SendArea.append("Now send message to " + Constants.strDestAddr + " .\n");
sendThread = new SendDataThread(Constants.nSendMode);
sendThread.start();
}
}
void ItemPay_actionPerformed(ActionEvent e) {
int x, y;
Dimension dmSize, screenSize;
UserPay dlgSend = new UserPay();
dmSize = dlgSend.getPreferredSize();
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
x = (int)(screenSize.getWidth() - dmSize.getWidth())/2;
y = (int)(screenSize.getHeight() - dmSize.getHeight())/2;
dlgSend.setModal(true);
dlgSend.setSize(dmSize);
dlgSend.setLocation(x, y);
dlgSend.show();
if(dlgSend.bFlag) {
if(Constants.SMSC_DEBUG)
SMSCFrame.SendArea.append("Now send message to " + Constants.strDestAddr + " .\n");
sendThread = new SendDataThread(Constants.nSendMode);
sendThread.start();
}
}
void ItemCancelSend_actionPerformed(ActionEvent e) {
if(sendThread == null)
return ;
sendThread.stopThread();
}
//启动短信中心
void ItemStart_actionPerformed(ActionEvent e) {
boolean bResp;
bResp = SMSCConnectionManager.instance().setupSMSCServer("SMPPServer", Constants.SvrPort);
if(bResp) {
ItemStart.setEnabled(false);
ItemStop.setEnabled(true);
}
}
//停止短信中心
void ItemStop_actionPerformed(ActionEvent e) {
boolean bResp;
bResp = SMSCConnectionManager.instance().stopSMSCServer();
if(bResp == true) {
ItemStart.setEnabled(true);
ItemStop.setEnabled(false);
}
}
void ItemClearRecv_actionPerformed(ActionEvent e) {
RecvArea.setText("");
}
void ItemClearSend_actionPerformed(ActionEvent e) {
SendArea.setText("");
}
void ItemActive_actionPerformed(ActionEvent e) {
boolean bFlag;
bFlag = ItemActive.isSelected();
if(bFlag)
Constants.DISPLAY_ACTIVE = true;
else
Constants.DISPLAY_ACTIVE = false;
}
void ItemMsg_actionPerformed(ActionEvent e) {
boolean bFlag;
bFlag = ItemMsg.isSelected();
if(bFlag)
Constants.DISPLAY_MSG = true;
else
Constants.DISPLAY_MSG = false;
//SMSCFrame.RecvArea.append("binary : " + Constants.DISPLAY_MSG + "\n");
}
void ItemBinary_actionPerformed(ActionEvent e) {
boolean bFlag;
bFlag = ItemBinary.isSelected();
if(bFlag)
Constants.DISPLAY_BINARY = true;
else
Constants.DISPLAY_BINARY = false;
//SMSCFrame.RecvArea.append("binary : " + Constants.DISPLAY_BINARY + "\n");
}
void Send_menuSelected(MenuEvent e) {
if(Constants.SEND_FLAG) {
ItemSend.setEnabled(true);
ItemCancelSend.setEnabled(false);
} else {
ItemSend.setEnabled(false);
ItemCancelSend.setEnabled(true);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -