📄 selectorpanel.java
字号:
} //增加失败: else{ errMsg=getErrMsg(errMsg); JOptionPane.showMessageDialog(this,"保存失败:\n"+errMsg, "错误提示", JOptionPane.QUESTION_MESSAGE); } refreshButton_mouseClicked();//刷新数据 } else{//取消增加 } } } //************************************************************************* //刷新回滚 //************************************************************************** public void refreshButton_mouseClicked(){ modTable.removeAll() ; jsp_mod.remove(modTable) ; remove(jsp_mod); tvm=new TableValuesMod(); TableSorter sorterMod=new TableSorter(); sorterMod.setModel(tvm); modTable = new JTable(sorterMod); modTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); modTable.getColumnModel().getColumn(0).setPreferredWidth(60); modTable.getColumnModel().getColumn(1).setPreferredWidth(200); modTable.getColumnModel().getColumn(2).setPreferredWidth(200); modTable.getColumnModel().getColumn(3).setPreferredWidth(200); modTable.getColumnModel().getColumn(4).setPreferredWidth(80); modTable.setAutoscrolls(true); modTable.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent etm){ modTable_mouseClicked(etm); } }); sorterMod.addMouseListenerToHeaderInTable(modTable); jsp_mod = new JScrollPane(modTable); setPower(modTable.getColumnModel().getColumn(4)); JViewport jvp_mod = new JViewport(); jvp_mod.setView(new RowNumberHeader(modTable)) ; jsp_mod.setRowHeader(jvp_mod) ; jsp_mod.setBounds(new Rectangle(5,270,785,270)); jsp_mod.setAutoscrolls(true); jsp_mod.setVerticalScrollBarPolicy(jsp_mod.VERTICAL_SCROLLBAR_ALWAYS); jsp_mod.setHorizontalScrollBarPolicy(jsp_mod.HORIZONTAL_SCROLLBAR_ALWAYS); setPowerShow(groupname); add(jsp_mod); } //------------------------------------------------------------------------------- protected Component getButtonPanel(){ JPanel innerPanel = new JPanel(); innerPanel.setLayout(new GridLayout(4,1,0,0)) ; addSelections = new JButton("<"); innerPanel.add(addSelections) ; addAll = new JButton("<<"); innerPanel.add(addAll) ; removeSelections = new JButton(">"); innerPanel.add(removeSelections) ; removeAll = new JButton(">>"); innerPanel.add(removeAll) ; innerPanel.setBounds(new Rectangle(260,50,50,120)); return innerPanel; } //************************************************************************** //根据用户列表框中选中的用户选中用户表中的用户 //*************************************************************************** protected void setSelectedTable(){ rowSel=0; jvp=jsp_user.getViewport(); if(userTable.isVisible() && userTable.getRowCount()>0){ //已有数据,选中当前行并设视点 rowCount_tuser=userTable.getRowCount(); colSel_tuser=userTable.getSelectedColumn(); for(int i=0;i<rowCount_tuser;i++){ if(userTable.getValueAt(i,0).equals(unselectedList.getSelectedValue())){ rowSel=i; } if(userTable.getValueAt(i,0).equals(selectedList.getSelectedValue())){ rowSel=i; } } userTable.setRowSelectionInterval(rowSel,rowSel); jvp.setViewPosition(new Point(0,rowSel*userTable.getHeight()/rowCount_tuser)); jvp.setView(userTable); } } //********************************************************************** //定义用户列表按钮事件 //********************************************************************** protected void addButtonListeners(){ //添加用户到用户组 addSelections.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ addSelectedItems(); } }); //添加所有用户到用户组 addAll.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ addAllItems(); } }); //从用户组中删除用户 removeSelections.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ removeSelectedItems(); } }); //从用户组中删除所有用户 removeAll.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ removeAllItems(); } }); } //响应增加用户到用户组的事件 protected void addSelectedItems(){ int[] selections = unselectedList.getSelectedIndices() ; //for(int i=0;i<selections.length;i++) //test:System.out.println("selections:"+selections[i]) ; selectedModel.takeEntriesFrom(unselectedModel,selections,"add") ; enableButtons(); } //响应用户组中已有用户事件 protected void addSelectedItems(int[] arr){ int[] selections = arr; //System.out.println("selections:"+selections[0]) ; //for(int i=0;i<selections.length;i++) //test:System.out.println("selections:"+selections[i]) ; selectedModel.takeEntriesFrom(unselectedModel,selections,"") ; enableButtons(); } //响应增加所有户到组中事件 protected void addAllItems(){ selectedModel.takeAllEntriesFrom(unselectedModel,"add") ; enableButtons(); } //响应从用户组中删除用户事件 protected void removeSelectedItems(){ int[] selections = selectedList.getSelectedIndices() ; unselectedModel.takeEntriesFrom(selectedModel,selections,"del") ; enableButtons(); } //响应从用户中删除所有用户事件 protected void removeAllItems(){ unselectedModel.takeAllEntriesFrom(selectedModel,"del") ; enableButtons(); } protected void removeAllItems(String temp){ unselectedModel.takeAllEntriesFrom(selectedModel) ; enableButtons(); } //设置button状态 protected void enableButtons(){ setSelectedTable(); ListModel model; int[] selections; selections = unselectedList.getSelectedIndices() ; //test:unselectedList.getSelectedIndex() ; //test:System.out.println("getlist value:"+unselectedList.getSelectedValue()+unselectedList.getSelectedIndex()) ; //test:System.out.println("selectedlength="+selections.length) ; if(groupname==null){ addSelections.setEnabled(false) ; addAll.setEnabled(false); removeSelections.setEnabled(false) ; removeAll.setEnabled(false) ; } else{ addSelections.setEnabled(selections.length >0) ; model = unselectedList.getModel() ; addAll.setEnabled(model.getSize() >0) ; selections = selectedList.getSelectedIndices() ; removeSelections.setEnabled(selections.length > 0) ; model = selectedList.getModel() ; removeAll.setEnabled(model.getSize() >0) ; } } //工具栏按钮 private void initButtons(JToolBar toolbar){ firstButton = initButton("first.gif"); emptyButtonBorder = new EmptyBorder(firstButton.getBorder().getBorderInsets(firstButton)); normalButtonBorder=UIManager.getBorder("Button.border"); toolbar.add(firstButton); priorButton = initButton("prior.gif"); toolbar.add(priorButton); nextButton = initButton("next.gif"); toolbar.add(nextButton); lastButton = initButton("last.gif"); toolbar.add(lastButton); insertButton = initButton("insert.gif"); toolbar.add(insertButton); deleteButton = initButton("delete.gif"); toolbar.add(deleteButton); dittoButton = initButton("ditto.gif"); toolbar.add(dittoButton); saveButton = initButton("save.gif"); toolbar.add(saveButton); refreshButton = initButton("refresh.gif"); toolbar.add(refreshButton); } private JButton initButton(String imageName){ JButton jButton = new JButton(new ImageIcon(getClass().getResource("/image/".concat(String.valueOf(String.valueOf(imageName)))))); jButton.addMouseListener(new MouseListener()); jButton.setMargin(new Insets(0, 0, 0, 0)); //add(jButton); return jButton; } public Object[] getSelectedValues(){ return selectedModel.getValues() ; } public Object[] getUnselectedValues(){ return unselectedModel.getValues() ; } //******************************************************************** //用户组维护菜单 //******************************************************************** void showMenu(int x,int y){ PopupMenu popup = new PopupMenu(); groupTree.add(popup) ; MenuItem mi1=new MenuItem("添加用户组"); MenuItem mi2=new MenuItem("删除用户组"); popup.add(mi1); popup.add(mi2); //菜单监听事件 mi1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ addGroup(); } }); mi2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ TreePath path=groupTree.getSelectionPath(); final DefaultMutableTreeNode node=(DefaultMutableTreeNode)path.getLastPathComponent(); delGroup(node.getParent()); } }); TreePath path=groupTree.getSelectionPath(); popup.show(groupTree,x,y); } //增加用户组 void addGroup(){ String name=JOptionPane.showInputDialog( getFrame(this), "请输入用户组名称", "提示", JOptionPane.QUESTION_MESSAGE); if(name!=null&&!name.equals("")){ DefaultMutableTreeNode nodenew=new DefaultMutableTreeNode(name); DefaultMutableTreeNode nodeParent ; DefaultTreeModel model=(DefaultTreeModel)(groupTree.getModel()); TreePath[] paths=groupTree.getSelectionPaths(); for(int i=0;i<paths.length;i++){ nodeParent=(DefaultMutableTreeNode)(paths[i].getLastPathComponent()); nodeParent=(DefaultMutableTreeNode)(nodeParent.getRoot()); model.insertNodeInto(nodenew,nodeParent,i); } pm.insertPowerGroup(name) ; } else{ JOptionPane.showMessageDialog( getFrame(this), "模板组名不能为空!", "警告", JOptionPane.ERROR_MESSAGE); } } //删除用户组 void delGroup(TreeNode parent){ int n =JOptionPane.showConfirmDialog( getFrame(this), "你确实要删除该用户组吗?", "警告", JOptionPane.YES_NO_OPTION); if (n == JOptionPane.YES_OPTION) { DefaultMutableTreeNode node=null; DefaultTreeModel model=(DefaultTreeModel)(groupTree.getModel()); TreePath[] paths=groupTree.getSelectionPaths(); for(int i=0;i<paths.length;i++){ node=(DefaultMutableTreeNode)(paths[i].getLastPathComponent()); model.removeNodeFromParent(node); } removeAllItems();//从用户组中删除用户 pm.delPowerGroup(node.toString()) ;//删除用户组 //System.out.println("delsql:"+pm.getSQL()) ; } } //jsp_group鼠标事件 void jspgroup_mousePressed(MouseEvent e) { if(((e.getModifiers()&InputEvent.BUTTON3_MASK)!=0)&&(groupTree.getSelectionCount()>0)){ //显示维护菜单 showMenu(e.getX(),e.getY()); } //第一次点击用户组时显示组权限 String firstgroupname=groupTree.getLastSelectedPathComponent().toString() ; setPowerShow(firstgroupname); //列出组用户和非组用户 if(groupname!=null && !groupname.equals(groupTree.getLastSelectedPathComponent().toString())){ pm=new PowerManager(); groupname=groupTree.getLastSelectedPathComponent().toString() ; setPowerShow(groupname); pm.getAllPowerUser() ; String groupid=pm.getGroupId(groupname); int[] station=ct.groupUser(pm.vGetUsrGrpId(),groupid); if(selectedModel.getSize()>0) removeAllItems("ddd") ; if(station.length >0) addSelectedItems(station); } if(groupTree.getLastSelectedPathComponent()!=null && groupname==null){ groupname=groupTree.getLastSelectedPathComponent().toString() ; String groupid=pm.getGroupId(groupname); int[] station=ct.groupUser(pm.vGetUsrGrpId(),groupid); if(station.length > 0) addSelectedItems(station);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -