📄 selectorpanel.java
字号:
} //设置button状态 enableButtons() ; } //设置权限显示 public void setPowerShow(String groupname){ if(groupname!=null){ Object[] arrPower = pm.getGroupPower(groupname) ; int row = modTable.getRowCount() ; for(int j=0;j<row-1;j++){ int index = Integer.parseInt(modTable.getValueAt(j,0).toString()); if(arrPower[index].toString().equals("0")) grouppower="没有权限"; if(arrPower[index].toString().equals("1")) grouppower="读权限"; if(arrPower[index].toString().equals("2")) grouppower="写权限"; if(arrPower[index].toString().equals("3")) grouppower="所有权限"; modTable.setValueAt(grouppower,j,4) ; } } } //修改用户组权限 public void setGroupPower(String groupname){ if(groupname!=null){ Object[] arrPower = pm.getGroupPower(groupname) ; int row = modTable.getRowCount() ; for(int j=0;j<row-1;j++){ int index = Integer.parseInt(modTable.getValueAt(j,0).toString()); String powervalue = modTable.getValueAt(j,4).toString(); if(powervalue.equals("没有权限")) arrPower[index]="0"; if(powervalue.equals("读权限")) arrPower[index]="1"; if(powervalue.equals("写权限")) arrPower[index]="2"; if(powervalue.equals("所有权限")) arrPower[index]="3"; } String power=""; for(int i=0;i<arrPower.length;i++){ power=power+arrPower[i].toString(); } pm.updateTable("powergroup","grpname",groupname,"grppower",power) ; } //System.out.println("updateTable:"+pm.getSQL()) ; } //userlist鼠标事件 void user_mousePressed(MouseEvent e){ if(((e.getModifiers()&InputEvent.BUTTON3_MASK)!=0)){ showUserMenu(e.getX(),e.getY()); } } //用户list维护菜单 void showUserMenu(int x,int y){ PopupMenu popup = new PopupMenu(); unselectedList.add(popup) ; MenuItem mi1=new MenuItem("添加用户"); MenuItem mi2=new MenuItem("删除用户"); popup.add(mi1); popup.add(mi2); if(unselectedList.getSelectedIndex() < 0){ mi2.setEnabled(false) ; } //菜单监听事件 mi1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ addUser(); } }); mi2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ delUser(); } }); popup.show(unselectedList,x,y); } //增加用户 void addUser(){ Object name=JOptionPane.showInputDialog( getFrame(this), "请输入用户编号", "提示", JOptionPane.QUESTION_MESSAGE); rowCount_tuser=userTable.getRowCount(); //int colNum=userTable.getSelectedColumn(); //判断用户sign是否已存在 boolean isIn=true; for(int i=0;i<rowCount_tuser;i++){ if(userTable.getValueAt(i,0).equals(name)) isIn=false; } if(name!=null && isIn && !name.equals("")){ //增加到List int[] selections = unselectedList.getSelectedIndices() ; unselectedModel.map.put(name,name) ; unselectedModel.takeEntriesFrom(unselectedModel,selections,"insert") ; //增加到userTable并设置视点 tvu.addTableRows() ; tvu.setValueAt(name,rowCount_tuser,0) ; tvu.setValueAt("password",rowCount_tuser,2) ; userTable.setRowSelectionInterval(rowCount_tuser,rowCount_tuser); jvp.setViewPosition(new Point(0,userTable.getHeight())); jvp.setView(userTable); //添加到数据库 pm.insertPowerUser(name.toString()) ; //System.out.println(jTableMode.getHeight()); } else{ JOptionPane.showMessageDialog( getFrame(this), "用户编号不能为空且不能重复!", "警告", JOptionPane.ERROR_MESSAGE); } } //删除用户 void delUser(){ int n =JOptionPane.showConfirmDialog( getFrame(this), "你确实要删除该用户吗?", "警告", JOptionPane.YES_NO_OPTION); if (n == JOptionPane.YES_OPTION) { pm.delPowerUser(userTable.getValueAt(rowSel,0).toString()) ;//从数据库中删除 int[] selections = unselectedList.getSelectedIndices() ;//从list中删除 selectedModel.takeEntriesFrom(unselectedModel,selections,"remove");//从userTable中删除 //userTable.getValueAt(rowSel,0) ; tvu.removeTableRows(rowSel); } } //当前TABLE点击响应事件,取得各参数值 public void userTable_mouseClicked(MouseEvent etm){ rowCount_tuser = userTable.getRowCount(); rowSel_tuser = userTable.getSelectedRow(); colSel_tuser = userTable.getSelectedColumn(); String value=userTable.getValueAt(rowSel_tuser,colSel_tuser).toString(); newvalue = userTable.getValueAt(oldrow,oldcol).toString() ; if(rowSel_tuser!=oldrow || colSel_tuser!=oldcol){ String columns=""; if(oldcol==1) columns="usrname"; else if(oldcol==2) columns = "usrpin"; else if(oldcol==3) columns = "usrmail"; else if(oldcol==4) columns = "usrphone"; else if(oldcol==5) columns = "usraddress"; else if(oldcol==6) columns = "usrdes"; else{columns="";} newvalue=userTable.getValueAt(oldrow,oldcol).toString() ; keyvalue=userTable.getValueAt(oldrow,0).toString() ; //判断单元格是否被改变,如果改变了,则修改数据库 if(oldvalue!=null && !oldvalue.equals(newvalue)){ pm.updateTable("poweruser","usrsign",keyvalue,columns,newvalue) ; //test:System.out.println("updatesql:"+pm.getSQL()) ; } oldrow=rowSel_tuser; oldcol=colSel_tuser; //System.out.println("oldvalue::"+oldvalue) ; //System.out.println("newvalue::"+newvalue) ; //System.out.println("keyvalue::"+keyvalue) ; oldvalue = value; } } //modTable事件,取得各参数 public void modTable_mouseClicked(MouseEvent etm){ rowSel_tmod=modTable.getSelectedRow();//modTable当前行 colSel_tmod=modTable.getSelectedColumn();//modTable当前列 rowCount_tmod=modTable.getRowCount();//modTable总行数 colCount_tmod=modTable.getColumnCount();//modTable总列数 } //格式化错误输出 public String getErrMsg(String err){ int len=err.length(); int m=0; String tmpStr=""; while((len-40)>0){ tmpStr=tmpStr+errMsg.substring(m,m+40)+"\n"; m=m+40; len=len-40; } return tmpStr; } //**************************************************** // //***************************************************** class SelectionListener implements ListSelectionListener{ public void valueChanged(ListSelectionEvent event){ JList list = (JList)(event.getSource()); int[] selections = list.getSelectedIndices(); if(selections.length > 0){ int[] indices = {}; list = (list == selectedList ? unselectedList : selectedList); list.setSelectedIndices(indices) ; } enableButtons(); } } //******************************************************* // //****************************************************** class SelectorListModel extends AbstractListModel{ protected TreeMap map; public SelectorListModel(Object[] values){ map = new TreeMap(); if(values!=null){ for(int i=0;i<values.length ;i++){ //test:System.out.println("Mapvalues:"+values[i]+i) ; map.put(values[i],values[i]) ; } } } public SelectorListModel(Object values){ map = new TreeMap(); if(values!=null){ map.put(values,values) ; } } public Object getElementAt(int index){ Set keys = map.keySet() ; return map.get(keys.toArray()[index]); } public int getSize(){ return map.size() ; } public void takeEntriesFrom(SelectorListModel source,int[] rows,String flag){ Object key; Object[] keys = source.map.keySet().toArray() ; for(int i=0;i<rows.length ;i++){ key=keys[rows[i]]; //System.out.println("key:"+key) ; map.put(key,source.map.remove(key)); //增加用户到用户组 if(flag.equals("add")){ pm.addUserToGroup(key.toString(),groupname) ; //System.out.println("addusertogroupsql:"+pm.getSQL()); } if(flag.equals("del")){ pm.delUserFromGroup(key.toString(),groupname); } } source.fireIntervalRemoved(source,0,keys.length-1) ; if(!flag.equals("remove")){ this.fireIntervalAdded(this,0,this.getSize()-1) ; } } public void takeAllEntriesFrom(SelectorListModel source,String flag){ map.putAll(source.map) ; int count = source.getSize() ; //System.out.println("source.getsize:"+count) ; Object[] arrValue=source.getValues(); if(flag.equals("add")){ for(int i=0; i<arrValue.length ;i++){ //System.out.println("source.getvalues1:"+arrValue[i]); pm.addUserToGroup(arrValue[i].toString(),groupname) ; } } if(flag.equals("del")){ for(int i=0; i<arrValue.length ;i++){ //System.out.println("source.getvalues2:"+arrValue[i]); pm.delUserFromGroup(arrValue[i].toString(),groupname); } } source.map.clear() ; source.fireIntervalRemoved(source,0,count-1) ; this.fireIntervalAdded(this,0,getSize()-1) ; } public void takeAllEntriesFrom(SelectorListModel source){ map.putAll(source.map) ; int count = source.getSize() ; source.map.clear() ; source.fireIntervalRemoved(source,0,count-1) ; this.fireIntervalAdded(this,0,getSize()-1) ; } public Object[] getValues(){ return map.values().toArray() ; } } //****************************************** // //****************************************** class MouseListener extends MouseAdapter{ public void mouseClicked(MouseEvent e){ //sorter.insertrow(table); } public void mousePressed(MouseEvent e){ } public void mouseReleased(MouseEvent e){ JButton button = (JButton)e.getSource(); if(showRollover) if(button.isEnabled()){ //if(!(ui instanceof MetalToolBarUI)) // button.setBorder(normalButtonBorder); } else{ button.setBorder(emptyButtonBorder); } } public void mouseEntered(MouseEvent e){ JButton button = (JButton)e.getSource(); if(showRollover && button.isEnabled()) button.setBorder(normalButtonBorder); } public void mouseExited(MouseEvent e){ JButton button = (JButton)e.getSource(); if(showRollover) button.setBorder(emptyButtonBorder); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -