📄 groupmanagerdialog.java
字号:
selectedGrp = null; jbtnAdd.setEnabled(true); jbtnSave.setEnabled(false); setNonGroupUsers(); jlstUserList.setListData(nonGroupusers); jtxfGroupName.requestFocus(); return; } isReload = true; jcbGroupList.removeAllItems(); for (int i = 0; i < refGroups.size(); i++) jcbGroupList.addItem(refGroups.get(i)); isReload = false; setNonGroupUsers(); jlstUserList.setListData(nonGroupusers); if (selectedGrp == null) return; //System.out.println("selected Group: " + selectedGrp); jcbGroupList.setSelectedItem(selectedGrp); //groupInfo = new GroupInfo(selectedGrp); //copy(groupInfo.groupUsers,groupusers); //jlstGroupUser.setListData(groupusers); }//GEN-LAST:event_jbtnRefreshActionPerformed private void setNonGroupUsers() { nonGroupusers = (Vector)users.clone(); for (int i = 0; i < groupusers.size(); i++) { String temp = (String)groupusers.get(i); if (nonGroupusers.contains(temp)) nonGroupusers.remove(temp); } } private void refresh() { try { Client.getDBConfig1(); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "GroupManager: Client Error in getting DBConfig:\n " + e.toString() + "\nTransaction aborted!"); return; } copy(Client.dbConfig.listUsers(),users); //System.out.println("refresh: GroupManager: Users:" + users); setNonGroupUsers(); try { copy(Client.dbConfig.listGroups(Client.userName),groups); //System.out.println("refresh: GroupManager: Groups:" + groups); groups.insertElementAt("New Group",0); refGroups = (Vector)groups.clone(); } catch(DBConfigException e) { JOptionPane.showMessageDialog(this, "GroupManager: Client Error in getting groups from DBConfig: " + e.toString() + " transaction aborted!"); return; } } private void copy(Vector v1, Vector v2) { v2.clear(); for (int i = 0; i < v1.size(); i++) v2.add(v1.get(i)); return; } /** Closes the dialog */ private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog setVisible (false); dispose (); parent.repaint(); }//GEN-LAST:event_closeDialog /** Closes the dialog */ private void jbtnCloseActionPerformed() {//GEN-FIRST:event_jbtnCloseActionPerformed setVisible (false); dispose (); parent.repaint(); }//GEN-LAST:event_jbtnCloseActionPerformed private void jcbGroupListActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcbGroupListActionPerformed // Add your handling code here: if (isReload == true) return; reinitialize(); if (jcbGroupList.getSelectedIndex() == 0) { setupForNewGroup(); return; } refresh(); repaint(); jbtnAdd.setEnabled(false); jbtnSave.setEnabled(true); selectedGrp = (String)jcbGroupList.getSelectedItem(); if (!groups.contains(selectedGrp)) { JOptionPane.showMessageDialog(this, "The selected group: " + selectedGrp + " is no longer in the system."); reinitialize(); jcbGroupList.setSelectedIndex(0); setupForNewGroup(); return; } resetGroupInfo(selectedGrp); //System.out.println("selected Group: " + selectedGrp); try { jlbOwner.setText(Client.dbConfig.getGroupOwner(selectedGrp)); } catch(DBConfigException e) { JOptionPane.showMessageDialog(this, "GroupManager: Client Error in getting group owner from DBConfig:\n " + e.toString() + "\nTransaction aborted!"); return; } jtxfGroupName.setText(selectedGrp); copy(groupInfo.groupUsers,groupusers); jlstGroupUser.setListData(groupusers); setNonGroupUsers(); jlstUserList.setListData(nonGroupusers); //repaint(); isNewGroup = false; }//GEN-LAST:event_jcbGroupListActionPerformed private void setupForNewGroup() { isNewGroup = true; selectedGrp = null; jbtnAdd.setEnabled(true); jbtnSave.setEnabled(false); jtxfGroupName.requestFocus(); } private void resetGroupInfo(String grp) { if (grp == null) return; groupInfo = new GroupInfo(grp); //System.out.println("Group Info from dbConfig: " + groupInfo.toString()); } private void jbtnForwardActionPerformed (java.awt.event.ActionEvent evt) { if (jlstUserList.isSelectionEmpty()) return; Object[] values = jlstUserList.getSelectedValues(); for (int i = 0; i < values.length; i++) { nonGroupusers.remove(values[i]); } for (int i = 0; i < values.length; i++) { if (!groupusers.contains(values[i])) groupusers.add(values[i]); } jlstGroupUser.setListData(groupusers); jlstUserList.setListData(nonGroupusers); return; } private void jbtnBackwardActionPerformed (java.awt.event.ActionEvent evt) { if (jlstGroupUser.isSelectionEmpty()) return; Object[] values = jlstGroupUser.getSelectedValues(); for (int i = 0; i < values.length; i++) { if (groupusers.contains(values[i])){ if (Client.userName.equals((String)values[i])) { JOptionPane.showMessageDialog(this, "Can not remove " + Client.userName + " as owner of the group."); return; } groupusers.remove(values[i]); } } jlstGroupUser.setListData(groupusers); for (int i = 0; i < values.length; i++) { if (!nonGroupusers.contains(values[i])) nonGroupusers.add(values[i]); } jlstUserList.setListData(nonGroupusers); return; } private void reinitialize() { jtxfGroupName.setText(""); jlbOwner.setText(""); groupusers.clear(); groupusers.add(Client.userName); jlstGroupUser.setListData(groupusers); setNonGroupUsers(); jlstUserList.setListData(nonGroupusers); isNewGroup = true; } private void jbtnAddActionPerformed (java.awt.event.ActionEvent evt) { if (isNewGroup == false) return; Vector info = new Vector(); String grp = jtxfGroupName.getText().trim(); if (grp.trim().equals("")) { JOptionPane.showMessageDialog(this, "Must specify the group's name"); jtxfGroupName.requestFocus(); return; } info.add(grp); if (groupusers.isEmpty()) { JOptionPane.showMessageDialog(this, "Must select at least one user for a group."); jbtnForward.requestFocus(); return; } info.add(groupusers); try { Client.addGroup(info); JOptionPane.showMessageDialog(this, "The new group: " + grp + " has been successfully added."); jcbGroupList.addItem(grp); //System.out.println("groups now = " + groups.toString()); reinitialize(); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "GroupManagerDialog: Client Error in adding a group:\n " + e.toString() + "\nTransaction aborted!"); return; } catch(ClientWarningException e) { JOptionPane.showMessageDialog(this, "GroupManagerDialog: Client Warning in adding a group:\n " + e.toString()); } catch(Exception e) { JOptionPane.showMessageDialog(this, "GroupManagerDialog: Client Warning in adding a group:\n " + e.toString()); } } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox jcbGroupList; private javax.swing.JButton jbtnAdd; private javax.swing.JButton jbtnDelete; private javax.swing.JButton jbtnSave; private javax.swing.JButton jbtnClose; private javax.swing.JTextField jtxfGroupName; private javax.swing.JLabel jlbOwner; private javax.swing.JButton jbtnRefresh; private javax.swing.JList jlstUserList; private javax.swing.JButton jbtnForward; private javax.swing.JButton jbtnBackward; private javax.swing.JScrollPane scrollPane1; private javax.swing.JScrollPane scrollPane2; private javax.swing.JList jlstGroupUser; private javax.swing.JFrame parent; private String selectedGrp; private Vector groupusers = new Vector(); private GroupInfo groupInfo = new GroupInfo(); private boolean isNewGroup = true; private boolean isReload = false; private Vector groups = new Vector(); private Vector refGroups = new Vector(); private Vector users = new Vector(); private Vector nonGroupusers = new Vector(); public Icon first = new ImageIcon("first.gif"); public Icon last = new ImageIcon("last.gif"); // End of variables declaration//GEN-END:variables class GroupInfo { private String groupName; private Vector groupUsers; public GroupInfo(String name) { groupName = name; refresh(); //System.out.println("in GroupInfo"); try { groupUsers = Client.dbConfig.listUsersForGroup(name); } catch(DBConfigException e) { JOptionPane.showMessageDialog(parent, "GroupManager: Client Error in getting group users from DBConfig:\n " + e.toString() + "\nTransaction aborted!"); return; } } public GroupInfo() { groupName = new String(); groupUsers = new Vector(); } public String toString() { String string = new String(); string += "Group Name: " + groupName + " "; string += "Group Users: " + groupUsers.toString(); return string; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -