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

📄 docinspecture.java

📁 农业银行ATM对帐查询系统后台类包的源代码,实现了FTP,数据库管理等等功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package boco.atmmonitor.docmonitor;//******************************************************************************//:功能:设备监控的主程序,实现对不同区的设备状态监控//:时间:2002-08//:作者:王建宾//:特殊描述::test:为DEBUG时启用//:程序描述:////******************************************************************************import java.awt.*;import javax.swing.*;import javax.swing.event.*;import java.io.*;import java.applet.*;import java.awt.event.*;import java.sql.*;import java.net.*;import java.util.*;import org.w3c.dom.*;import xmlapp.*;import boco.atmmonitor.DBConn.*;import javax.swing.tree.*;//**************************************************************************//类名称:文本显示监控状态//类功能:显示监控站点的运行状态//***************************************************************************//原程序//public class docInspecture extends JFrame implements ListSelectionListener{//changedpublic class docInspecture extends JFrame{  int docMonitorPower=0;//监控权限  int INTERVALSECOND = 60000;//缺省间隔轮询时间  javax.swing.Timer timer=null;//定时器  protected Button start=new Button();//开始按钮  protected Button stop=new Button();//停止按钮  protected PopupMenu popup = null;//弹出操作MENU  Container contentPane=null;//主面板  JScrollPane jPanel1 = null;//操作工作域  JTable atmTable = null;//ATM状态表  atmValues atmv = null;//状态表值  JPanel jPanel2= new JPanel();//主显示工作域  JLayeredPane jPanelChart = new JLayeredPane();  JScrollPane JSArea = null;//区操作域  JList AreaList = null;//分区显示  int in = -1;//保存被选中区值  int Count = 0;  //行所号信息  JTree jTree1;  Vector vBranchCode=new Vector();  Vector vBranchName = new Vector();  String branchcode="";  String branchname = "";  String root = "";  int statuLen=1;  DefaultMutableTreeNode node = null;  BranchCodeInfo bci;  //分区参数  Vector ListValue = new Vector();  Vector ListId = new Vector();  Vector ListMap = new Vector();  //数据库中ATM信息  //Atm参数  Vector AtmId = new Vector();  Vector vStatus = new Vector();  String AreaId = "";  boolean isStandalone = false;  String thePower="";//判断用户权限级别  Vector vActPower=new Vector();//用户操作权限值  int actionPower=2;//判断用户操作权限  String User="";//用户  pointDB dbConn=null;  String dbDriver="";  String username="";  String connstr="";  String pass="";//数据库密码  Vector status=new Vector();//设备状态集合  Vector dev=new Vector();//设备名集合  //  //************************************************************************  //方法名称:取得对话框父窗口  //方法功能:为对话框的显示获取父窗口  //************************************************************************  static Frame getFrame(Component c) {    while((c = c.getParent()) != null) {      if(c instanceof Frame)        return (Frame)c;    }    return null;  }  //Window事件响应  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      System.exit(0);    }  }  /**Construct the frame*/  public docInspecture(String Name) {    User = Name;    //changed    if(Name.length()==4)      actionPower=1;    //end changed    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  //**************************************************************************  //方法名称:frame初始化方法  //方法功能:取得HTML中APPLET的参数,并初始化列表头和名称列的值  //**************************************************************************  private void jbInit() throws Exception {    //解析XML读所需参数    InputStream is=getClass().getResourceAsStream("/db.properties") ;    Properties dbProps = new Properties();    try{      dbProps.load(is) ;    }    catch(Exception e){      System.err.println("不能读取属性文件") ;    }    String urlXml=dbProps.getProperty("atm.monitor") ;    xmlDompaserBean xmlconfig=new xmlDompaserBean(urlXml);    Vector vc=xmlconfig.getXmlNodeByName("paramSaveTo");    Node node=(Node)vc.elementAt(0);    xmlconfig.printNextLevelNodes(node);    dbDriver=xmlconfig.getNodeValues().elementAt(1).toString();    connstr=xmlconfig.getNodeValues().elementAt(2).toString();    username=xmlconfig.getNodeValues().elementAt(3).toString();    pass=xmlconfig.getNodeValues().elementAt(4).toString();    INTERVALSECOND=Integer.parseInt(xmlconfig.getNodeValues().elementAt(5).toString());    xmlconfig.close();    //:test:System.out.println("Driver:"+dbDriver);    //:test:System.out.println("ConnStr:"+connstr);    //:test:System.out.println("UserName:"+username);    //:test:System.out.println("Password:"+pass);    //:test:System.out.println("Interval:"+INTERVALSECOND);    //各控件的初始化及显示    contentPane = getContentPane();    contentPane.setLayout(null);    this.setSize(new Dimension(800, 600));    this.setTitle("ATM Detector");    jPanel2.setBounds(new Rectangle(180, 10, 600, 30));    jPanel2.setLayout(null);    jPanel2.setBorder(BorderFactory.createLineBorder(Color.black));    start.setLabel("开始监控");    start.setBounds(4,4,90,23);    start.setEnabled(false);    stop.setLabel("停止监控");    stop.setBounds(100,4,90,23);    stop.setEnabled(false);    jPanel2.add(start,null);    jPanel2.add(stop,null);    jPanelChart.setBounds(new Rectangle(180, 45, 600, 20));    jPanelChart.setBorder(BorderFactory.createLineBorder(Color.black));    JLabel label = createColoredLabel("状态统计",Color.blue,1,600,"状态统计");    jPanelChart.add(label);    contentPane.add(jPanelChart,null);    jPanel1 = new JScrollPane();    jPanel1.setBounds(new Rectangle(180,70,600,500));    contentPane.add(jPanel1, null);    contentPane.add(jPanel2, null);    start.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        startInspect();      }    });    stop.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        stopInspect();      }    });    //设置分区List并显示    /*getPower gp=new getPower();    thePower = gp.getUserPower(User);    AreaInfo ai = new AreaInfo();    ai.getAllArea(thePower);    vActPower = ai.getAllAreaPower();    ListValue = ai.getAllAreaName();    ListId = ai.getAllAreaId();    ListMap = ai.getAllAreaMap();    AreaList = new JList(ListValue);    AreaList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    AreaList.addListSelectionListener(this);    AreaList.setToolTipText("选中分区进行设备监控");    JSArea = new JScrollPane(AreaList);    JSArea.getViewport().setBackground(Color.white);    JSArea.setBorder(BorderFactory.createLineBorder(Color.black));    JSArea.setBounds(new Rectangle(10, 10, 60, 570));    contentPane.add(JSArea,null);*/    bci = new BranchCodeInfo();    vBranchCode = bci.getAllBranchCode() ;    vBranchName = bci.getAllBranchName() ;    for(int i=0;i<vBranchCode.size() ;i++){      if(vBranchCode.elementAt(i).toString().equals(User))        root=vBranchName.elementAt(i).toString();    }    DefaultMutableTreeNode top =  new DefaultMutableTreeNode(root);    jTree1 = new JTree(top);    createNodes(top);    jTree1.setEditable(false);    jTree1.getSelectionModel().setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);    jTree1.setShowsRootHandles(true);    jTree1.addMouseListener(new java.awt.event.MouseAdapter() {                public void mouseClicked(MouseEvent exp) {                jTree1_mouseClicked(exp);                }                });    JScrollPane treeView = new JScrollPane(jTree1);    JSArea = new JScrollPane(jTree1);    JSArea.getViewport().setBackground(Color.white);    JSArea.setBorder(BorderFactory.createLineBorder(Color.black));    JSArea.setBounds(new Rectangle(10, 10, 160, 570));    contentPane.add(JSArea,null);  }  //create color label  private JLabel createColoredLabel(String text,Color color,int len,int length,String tooltip) {    JLabel label = new JLabel(text);      label.setVerticalAlignment(JLabel.TOP);      label.setHorizontalAlignment(JLabel.CENTER);      label.setOpaque(true);      label.setBackground(color);      label.setForeground(Color.white);      label.setBounds(len,1, length, 18);      label.setToolTipText(tooltip);      return label;    }  //method createNodes to add nodes to the tree  public void createNodes(DefaultMutableTreeNode top) {    //如果输入参数(作为用户名从IE端输入)是95599 则认为是行长,有监控全部支行的权限    String bc="";    if(User.equals("95599")){       for(int i=0;i<vBranchCode.size();i++){         bc = vBranchCode.elementAt(i).toString();         if(bc.length()==2){           node = new DefaultMutableTreeNode(vBranchName.elementAt(i));           top.add(node);           for(int j=0;j<vBranchCode.size();j++){             String tmp = vBranchCode.elementAt(j).toString();             if(tmp.length()>2 && tmp.substring(0,2).equals(bc)){               node.add(new DefaultMutableTreeNode(vBranchName.elementAt(j)));             }           }         }       }    }    //否则认为是非行长,只有监控支行的权限    else{      //如果输入是2位字符,则认为是支行人员登陆,有监控支行权限      if(User.length()==2){        for(int j=0;j<vBranchCode.size();j++){          String tmp = vBranchCode.elementAt(j).toString();          //System.out.println(tmp);          if(tmp.length()>2 && tmp.substring(0,2).equals(User)){            top.add(new DefaultMutableTreeNode(vBranchName.elementAt(j)));          }        }      }      //否则就是认为是所管理人员登陆,有监控所的权限      else{        //只会有一个节点,根节点,已经赋过值      }    }  }  //显示树结束//***************************************************************************//方法名称:“开始监控”按钮的触发方法//方法功能:按下按钮之后,间隔轮循ATM状态//***************************************************************************  void startInspect(){    JOptionPane.showMessageDialog(null,"设备状态监控开始","信息提示",JOptionPane.INFORMATION_MESSAGE);    stop.setEnabled(true);    start.setEnabled(false);    try{      //间隔固定时间后发送查询信息      timer = new javax.swing.Timer(INTERVALSECOND, new ActionListener() {        public void actionPerformed(ActionEvent evt) {          //从数据库中取当前ATM状态          Vector nowAtmStatus = new Vector();          atmValues tmpatmv = new atmValues(dbDriver,connstr,username,pass);          tmpatmv.atmValues(AreaId);          nowAtmStatus.removeAllElements();          nowAtmStatus = tmpatmv.getStatus();          //状态发生改变否          //:test:System.out.println(vStatus.toString());          //:test:System.out.println(nowAtmStatus.toString());          if(!nowAtmStatus.equals(vStatus)){            //viewATM(in);            viewATM(branchcode);          }        }      });      timer.start();    }catch(Exception e){      JOptionPane.showMessageDialog(null,"进入监控状态时出现错误:"+e.getMessage(),"提示",JOptionPane.INFORMATION_MESSAGE);      start.setEnabled(true);      stop.setEnabled(false);    }  }//***************************************************************************//方法名称:“停止监控”按钮的触发方法//方法功能:按下按钮之后,停止监控ATM状态//***************************************************************************  void stopInspect(){    JOptionPane.showMessageDialog(null,"设备状态监控结束","信息提示",JOptionPane.INFORMATION_MESSAGE);    start.setEnabled(true);    stop.setEnabled(false);    try{      if(timer!=null)      timer.stop();    }catch(Exception e){      JOptionPane.showMessageDialog(null,"停止监控时出现错误:"+e.getMessage(),"错误",JOptionPane.ERROR_MESSAGE);    }  }  //返回当前区县ID  public int getIndex(){    return in;  }  /*  //选中不同区县  public void valueChanged(ListSelectionEvent e) {    stop.setEnabled(false);    if(timer!=null){      timer.stop();    }    if (e.getValueIsAdjusting())      return;    JList theList = null;    theList = (JList)e.getSource();    if (theList.isSelectionEmpty()) {    }    else{      int index = theList.getSelectedIndex();      in = index;      actionPower = Integer.parseInt(vActPower.elementAt(in).toString());      viewATM(in);      start.setEnabled(true);    }  }*/  //响应树地鼠标事件根据节点不同加载地图模板  void jTree1_mouseClicked(MouseEvent exp){      stop.setEnabled(false);      if(timer!=null){        timer.stop();      }

⌨️ 快捷键说明

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