📄 selectorpanel.java~1~
字号:
JOptionPane.QUESTION_MESSAGE); } //增加失败: else{ errMsg=getErrMsg(errMsg); JOptionPane.showMessageDialog(this,"保存失败:\n"+errMsg, "错误提示", JOptionPane.QUESTION_MESSAGE); } } else{//取消增加 } } refreshButton_mouseClicked(); //} } //刷新回滚 public void refreshButton_mouseClicked(){ //contentPane.add(JScroll,null); //JScroll.remove(jTableMode); //jTableMode.removeAll(); 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); 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) ; /*JPanel outerPanel = new JPanel(); outerPanel.setLayout(new GridBagLayout()) ; GridBagConstraints gbc = new GridBagConstraints(); gbc.insets =new Insets(0,0,0,0); outerPanel.add(innerPanel,gbc) ; outerPanel.setBounds(new Rectangle(255,5,58,220)) ; return outerPanel;*/ innerPanel.setBounds(new Rectangle(260,50,50,120)); return innerPanel; } //根据用户列表框中选中的用户选中用户表中的用户 protected void setSelectedTable(){ //unselectedList.getSelectedIndex() ; //System.out.println("getlist value:"+unselectedList.getSelectedValue()+unselectedList.getSelectedIndex()) ; int rowNum=0; int colNum=0; int rowCount=0; rowSel=0; //jsp_user.removeAll() ; //add(jsp_user); jvp=jsp_user.getViewport(); if(userTable.isVisible() && userTable.getRowCount()>0){ //已有数据,选中当前行并设视点 rowCount=userTable.getRowCount(); colNum=userTable.getSelectedColumn(); for(int i=0;i<rowCount;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)); 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++) 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++) System.out.println("selections:"+selections[i]) ; selectedModel.takeEntriesFrom(unselectedModel,selections,"") ; enableButtons(); } //响应增加所有户到组中事件 protected void addAllItems(){ selectedModel.takeAllEntriesFrom(unselectedModel) ; enableButtons(); } //响应从用户组中删除用户事件 protected void removeSelectedItems(){ int[] selections = selectedList.getSelectedIndices() ; unselectedModel.takeEntriesFrom(selectedModel,selections,"del") ; enableButtons(); } //响应从用户中删除所有用户事件 protected void removeAllItems(){ 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); //postButton = initButton("post.gif"); //toolbar.add(postButton); //cancelButton = initButton("cancel.gif"); //toolbar.add(cancelButton); //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); } 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()); } //列出组用户和非组用户 pm=new PowerManager(); if(groupname!=null && !groupname.equals(groupTree.getLastSelectedPathComponent().toString())){ groupname=groupTree.getLastSelectedPathComponent().toString() ; setPowerShow(groupname); pm.getAllPowerUser() ; String groupid=pm.getGroupId(groupname);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -