📄 pictureinspecture.java
字号:
getContentPane().add(JSArea,null); } //method createNodes to add nodes to the treepublic 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{ //只会有一个节点,根节点,已经赋过值 } }} //显示树结束//***************************************************************************//方法名称:“开始监控”按钮的触发方法//方法功能:按下按钮之后,间隔轮循设备状态//*************************************************************************** void startInspect(){ //System.out.println("AreaId:"+AreaId) ; 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) { int size = vStatus.size(); //从数据库中取当前设备状态 Vector AtmId = new Vector(); Vector nowAtmStatus = new Vector(); AtmMap am = new AtmMap(dbDriver,connstr,username,pass); //am.getAllAtm(Integer.parseInt(AreaId)); am.getAllAtm(AreaId); AtmId = am.getAllAtmId(); //System.out.println(AtmId.toString()) ; AtmStatus as = new AtmStatus(dbDriver,connstr,username,pass); as.AtmStatus(AtmId); nowAtmStatus = as.getAtmStatus(); //对比两者状态,如果状态发生变化,给客户端发送状态改变信息 //:test:System.out.println(nowAtmStatus.toString()); //:test:System.out.println(vStatus.toString()); if(!nowAtmStatus.equals(vStatus)){ viewNewATM(branchcode); } } }); timer.start(); }catch(Exception e){ JOptionPane.showMessageDialog(null,"进入监控状态时出现错误:"+e.getMessage(),"提示",JOptionPane.INFORMATION_MESSAGE); start.setEnabled(true); stop.setEnabled(false); } }//***************************************************************************//方法名称:“停止监控”按钮的触发方法//方法功能:按下按钮之后,停止监控设备状态//*************************************************************************** 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); } }//**************************************************************************//方法名称:画图方法//方法功能:画出监控界面//************************************************************************** public void paint(Graphics g){ super.paint(g); g.setColor(Color.black); g.drawRect(150,65,630,515); g.drawRect(150, 10,630, 30); if ((tracker.statusAll(false) & MediaTracker.ERRORED) != 0) { g.setColor(Color.red); g.fillRect(152, 67, 627, 512); return; } g.drawImage(mainMap,152, 67,this); if(repaintNo>0){ for(int i=0;i<jPanel1.getComponentCount();i++){ jPanel1.getComponent(i).repaint(); } } repaintNo=repaintNo+1; } //********************************************************************** //方法名称:从WEB站点获得图片 //方法功能:从WEB站点取得图片,设置站点标题 //********************************************************************** protected JLabel getLabelFromUrl(Image pic){ ImageIcon icon=new ImageIcon(pic); JLabel label=new JLabel(icon); label.setHorizontalTextPosition(JLabel.CENTER); label.setVerticalTextPosition(JLabel.BOTTOM); return label; }//*****************************************************************************//方法名称:画出状态图标//方法功能:画出状态图标,不监听//**************************************************************************** protected void addNewComp(Component comp,Point location) { comp.setLocation(location); comp.setSize(comp.getPreferredSize()); jPanel2.add(comp); jPanel2.repaint(); }//*****************************************************************************//方法名称:画出站点图标//方法功能:画出图标,并实现拖拽监听//**************************************************************************** protected void addNewComponent(Component comp,Point location) { final Component temp=comp; DragSource source=DragSource.getDefaultDragSource(); source.createDefaultDragGestureRecognizer(comp,DnDConstants.ACTION_COPY_OR_MOVE,new MyGestureListener1()); comp.setLocation(location); comp.setSize(comp.getPreferredSize()); comp.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(MouseEvent e) { comp_mouseClicked(temp,e); } }); comp.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { comp_mousePressed(temp,e); } }); if (tracker.statusID(1, false) == MediaTracker.COMPLETE) { jPanel1.getGraphics().drawImage(lamp, location.x, location.y, jPanel1); } jPanel1.add(comp,null); }//*****************************************************************************//方法名称:画出站点图标//方法功能:画出图标,并实现拖拽监听//**************************************************************************** protected void addNewLamp(Component comp,Image newLamp,Point location) { final Component temp=comp; DragSource source=DragSource.getDefaultDragSource(); source.createDefaultDragGestureRecognizer(comp,DnDConstants.ACTION_COPY_OR_MOVE,new MyGestureListener1()); comp.setLocation(location); comp.setSize(comp.getPreferredSize()); comp.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(MouseEvent e) { comp_mouseClicked(temp,e); } }); comp.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { comp_mousePressed(temp,e); } }); if (tracker.statusID(1, false) == MediaTracker.COMPLETE) { jPanel1.getGraphics().drawImage(newLamp, location.x, location.y, jPanel1); } jPanel1.add(comp,null); }//*****************************************************************************//方法名称:站点图标鼠标双击事件触发方法//方法功能:实现鼠标双击事件的响应方法,弹出对话框显示被双击站点的详细情况//***************************************************************************** void comp_mouseClicked(Component comp,MouseEvent e){ String atmid = ((JLabel)comp).getName().trim(); if(((e.getModifiers()&InputEvent.BUTTON1_MASK)!=0)&&e.getClickCount()==2){ try{ InfoPane ip = new InfoPane(((JLabel)comp).getName().trim()); JOptionPane.showMessageDialog(null,ip.getTabbedPane(),"设备"+((JLabel)comp).getName()+"的信息",JOptionPane.INFORMATION_MESSAGE); } catch(Exception ee){ ee.printStackTrace(); } } } //************************************************************************ //方法名称:鼠标响应方法 //方法功能:响应鼠标右键,弹出对话框,或响应鼠标右键获得图标的坐标 //************************************************************************ void comp_mousePressed(Component comp,MouseEvent e){ if(((e.getModifiers()&InputEvent.BUTTON3_MASK)!=0)){ showMenu(comp,e.getPoint().x,e.getPoint().y); } } //************************************************************************ //方法名称:菜单显示 //方法功能:弹出菜单,并初始化事件响应方法 //************************************************************************ void showMenu(Component comp,int x,int y) { final Component tempComp=comp; String atmid = ((JLabel)comp).getName().trim(); PopupMenu popup = new PopupMenu(); comp.add(popup); MenuItem mi10=new MenuItem("设备:"+atmid); MenuItem mi11=new MenuItem("编辑设备名称"); MenuItem mi12=new MenuItem("删除设备"); popup.add(mi10); if(actionPower>1){ popup.add(mi11); popup.add(mi12); mi11.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ editIcon((JLabel)tempComp); } }); mi12.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ delIcon(tempComp); } }); } popup.show(comp,x,y); } //********************************************************************** //方法名称:编辑站点 //方法功能:调出对话框,提供站点名称的编辑 //********************************************************************* void editIcon(JLabel comp){ String name = ""; name=JOptionPane.showInputDialog( null, "输入设备编号", "编辑提示", JOptionPane.INFORMATION_MESSAGE); if(name==null){} else{ if(!name.trim().equals("")){ dbConn=new pointDB(dbDriver,connstr,username,pass); //判断该设备在DevBaseInfo表中存在否 AtmStatus as = new AtmStatus(dbDriver,connstr,username,pass); if(as.isAtmExist(name)){ dbConn.updateLampName(comp.getName().trim(),name); if(dbConn.getErrMsg().equals("update AtmId Fail")){ JOptionPane.showMessageDialog(null,"编辑设备编号失败,检查该设备已存在否","失败",JOptionPane.ERROR_MESSAGE); } else{ comp.setName(name); //dbConn.DbClose(); viewNewATM(branchcode); } } else JOptionPane.showMessageDialog(null,"编辑失败,设备基本信息表中不存在该编号","失败",JOptionPane.ERROR_MESSAGE); } else{ JOptionPane.showMessageDialog(null,"名称不能为空,编辑失败","失败",JOptionPane.ERROR_MESSAGE); } } } //********************************************************************** //方法名称:删除站点图标 //方法功能:删除响应的站点 //********************************************************************* void delIcon(Component comp){ int n=JOptionPane.showConfirmDialog( null, "你确定要删除这个设备吗?", "删除提示", JOptionPane.INFORMATION_MESSAGE); if(n==JOptionPane.YES_OPTION){ dbConn=new pointDB(dbDriver,connstr,username,pass); //判断该设备在DevBaseInfo表中存在否 //AtmStatus as = new AtmStatus(dbDriver,connstr,username,pass); //if(!as.isAtmExist(((JLabel)comp).getName().trim())){ dbConn.deletePoint(((JLabel)comp).getName().trim()); if(dbConn.getErrMsg().equals("delete Fail")){ JOptionPane.showMessageDialog(null,"删除设备失败","失败",JOptionPane.ERROR_MESSAGE); } else{ jPanel1.remove(comp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -