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

📄 smscframe.java

📁 本人为友邦公司做的模拟网关源代码
💻 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 + -