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

📄 tradepanel.java

📁 农业银行ATM对帐查询系统后台类包的源代码,实现了FTP,数据库管理等等功能
💻 JAVA
字号:
package boco.webtrade;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.TitledBorder;import java.io.*;import java.net.*;import java.sql.*;import java.util.Vector;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author qf * @version 1.0 */public class TradePanel extends JFrame {  JPanel contentPane;  //设置签到、签退、检查线路和发送文字信息面板  JPanel signpanel =new JPanel();  JPanel sendpanel =new JPanel();  //the input stream from the socket  protected DataInputStream inStream;  protected ReadCallback readCallback;  protected Socket sock;  protected ServerSocket listenSock;  //捕获到的异常  String  exceptionstr = "";  //发送的报文  String tradestr = "";  String comstr = "";  //主机名和端口号  String  hostName = "";  int     portNumber = 0;  String  sTradeCode = "";  String  sComCode = "";  String  sComName = "";  Vector  vComCode = new Vector();  Vector  vComName = new Vector();  Vector  vTradeComCode = new Vector();  //存储业务类别的下拉框  private JComboBox typeComboBox = new JComboBox();  //签到、签退、检查线路、发送文字信息按钮和发送文字信息的窗格  private JButton excutebutton = new JButton();  private JTextPane sendtextpane = new JTextPane();  //初始化中文转换为ASCII码和ASCII码转换为中文的函数  ChineseTransfer atoc = new ChineseTransfer();  //存放从数据库中取出的业务类别的主机名和端口号  TradeTable tt=new TradeTable();  String TradeName="";  public TradePanel() {    try {      jbInit();    }    catch(Exception ex) {      ex.printStackTrace();    }  }  void jbInit() throws Exception {      //得到所有的数据库的表      tt.getAllTableRecord();      Vector vTradeName = new Vector();      vTradeName=tt.getAllTradeName();      tt.getComNameAndCode();      vComCode = tt.getAllNewComCode();      vComName = tt.getAllComName();      //UI container      contentPane = (JPanel)this.getContentPane();      contentPane.setLayout(null);      this.setSize(new Dimension(424, 227));      this.setTitle("发起交易");      signpanel = new JPanel();      signpanel.setLayout(null);      signpanel.setBorder(new TitledBorder("   交  易  "));      signpanel.setBounds(new Rectangle(4, 7, 413, 61));      sendpanel = new JPanel();      sendpanel.setLayout(new BoxLayout(sendpanel, BoxLayout.X_AXIS));      sendpanel.setBorder(new TitledBorder("文字信息"));      sendpanel.setBounds(new Rectangle(4, 75, 413, 112));      typeComboBox.setPreferredSize(new Dimension(150, 27));      typeComboBox.setToolTipText("选择业务类别");      typeComboBox.addItem("请选择业务类别");      typeComboBox.setBounds(new Rectangle(7, 21, 150, 27));      for(int i=0;i<vTradeName.size();i++)          typeComboBox.addItem(atoc.AsciiToChineseString(vTradeName.elementAt(i).toString()));      typeComboBox.addActionListener(new java.awt.event.ActionListener() {          public void actionPerformed(ActionEvent ae){              typeComboBox_actionPerformed(ae);          }      });      JComboBox CmdComboBox = new JComboBox();      CmdComboBox.addItem("请选择命令类型");      CmdComboBox.addActionListener(new java.awt.event.ActionListener() {          public void actionPerformed(ActionEvent ae){              CmdComboBox_actionPerformed(ae);          }      });      CmdComboBox.setVisible(true);      CmdComboBox.setToolTipText("选择命令");      CmdComboBox.setPreferredSize(new Dimension(150, 27));      CmdComboBox.setBounds(new Rectangle(160,21,150,27));      signpanel.add(CmdComboBox, null);      excutebutton.setBounds(new Rectangle(320, 21, 85, 27));      excutebutton.setToolTipText("发送");      excutebutton.setText("执行命令");      excutebutton.addActionListener(new java.awt.event.ActionListener() {          public void actionPerformed(ActionEvent ae) {              excutebutton_actionPerformed(ae);          }      });      sendtextpane.setMaximumSize(new Dimension(300, 80));      sendtextpane.setMinimumSize(new Dimension(300, 80));      sendtextpane.setPreferredSize(new Dimension(300, 80));      sendtextpane.setText("That has been initialized with the setText method");      JScrollPane areaScrollPane = new JScrollPane(sendtextpane);      areaScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);      //JViewport jvp = areaScrollPane.getViewport();      //jvp.add(sendtextpane);      //areaScrollPane.setViewportView(sendtextpane);      //signpanel.add(CmdComboBox, null);      signpanel.add(typeComboBox, null);      signpanel.add(excutebutton, null);      contentPane.add(sendpanel, null);      sendpanel.add(areaScrollPane, null);      contentPane.add(signpanel, 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);    }  }  //第一个下拉框响应事件  public void typeComboBox_actionPerformed(ActionEvent ae) {      JComboBox cb = (JComboBox)ae.getSource();      TradeName = (String)cb.getSelectedItem();      tt.getInfo(TradeName);      //取得交易类型对应的地址、端口号、命令编码、交易编码      hostName   = tt.getCorrespondTradeHost();      portNumber = Integer.parseInt(tt.getCorrespondTradePort());      sTradeCode = tt.getCorrespondTradeCode().trim();      tradestr = sTradeCode;      vTradeComCode = tt.getAllTradeComCode();      String sComCode = "";/** *  在获得新的业务类型对应的命令下拉框之前清空在Panel中的所有部件, *  然后再添加业务类型下拉框和执行命令按钮,并重新构建一个命令下拉框。 */      signpanel.removeAll();      signpanel.add(typeComboBox);      signpanel.add(excutebutton);      JComboBox CmdComboBox = new JComboBox();      CmdComboBox.addItem("请选择命令类型");      CmdComboBox.addActionListener(new java.awt.event.ActionListener() {          public void actionPerformed(ActionEvent ae){              CmdComboBox_actionPerformed(ae);          }      });      CmdComboBox.setVisible(true);      CmdComboBox.setToolTipText("选择命令");      CmdComboBox.setPreferredSize(new Dimension(150, 27));      CmdComboBox.setBounds(new Rectangle(160,21,150,27));      signpanel.add(CmdComboBox, null);      //获得命令编码向量的对应命令名      for(int i=0;i < vTradeComCode.size();i++){          sComCode = vTradeComCode.elementAt(i).toString();          for(int j=0;j < vComCode.size();j++){              if(sComCode.equals(vComCode.elementAt(j).toString()))                  CmdComboBox.addItem(vComName.elementAt(j).toString());          }      }      vTradeComCode.removeAllElements();      //:test:      System.out.println(hostName);      //:test:      System.out.println(portNumber);  }  //命令下拉框选择项目时响应事件  public void CmdComboBox_actionPerformed(ActionEvent ae) {      JComboBox cb = (JComboBox)ae.getSource();      Object Item  = cb.getSelectedItem();      if(Item!=null){          sComName = (String)cb.getSelectedItem();          String comcode = "";          for(int i = 0;i < vComCode.size();i++){              if(sComName.equals(vComName.elementAt(i).toString()))                  comcode = vComCode.elementAt(i).toString().trim();          }          comstr = comcode;      }      //:test:System.out.println(tradestr+comstr);  }  //执行命令按钮响应事件  public  void excutebutton_actionPerformed(ActionEvent ae) {        try{           SimpleClient client = new SimpleClient(hostName,portNumber);           client.start();           client.sendString(tradestr+comstr+sendtextpane.getText());           client.clientThread.sleep(1000);	   String rec=client.reader.recvstr;           if(!rec.equals("")){               JOptionPane.showMessageDialog(contentPane,rec,"执行命令返回提示",JOptionPane.INFORMATION_MESSAGE);               client.disconnect();           }           else {               JOptionPane.showMessageDialog(contentPane,"执行命令失败","执行命令返回提示",JOptionPane.ERROR_MESSAGE);               client.disconnect();               return;           }           client.disconnect();           client.stop();           }           catch(NullPointerException npe){               JOptionPane.showMessageDialog(contentPane,npe.toString(),"服务器未在该端口侦听或者不存在该服务器",JOptionPane.WARNING_MESSAGE);           }           catch (ConnectException ce){               // Tell the callback there was an error               //readCallback.dataReady(null);               ce.printStackTrace();               exceptionstr=ce.toString();               JOptionPane.showMessageDialog(contentPane,exceptionstr,"执行命令发生socket连接错误",JOptionPane.WARNING_MESSAGE);           }           catch(InterruptedException ie){               ie.printStackTrace();               exceptionstr=ie.toString();               JOptionPane.showMessageDialog(contentPane,exceptionstr,"执行命令时线程出错",JOptionPane.ERROR_MESSAGE);           }           catch(IOException ioe){               ioe.printStackTrace();               exceptionstr=ioe.toString();               JOptionPane.showMessageDialog(contentPane,exceptionstr,"执行命令时发生IO错误",JOptionPane.WARNING_MESSAGE);           }  }}

⌨️ 快捷键说明

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