📄 selectorpanel.java~1~
字号:
package boco.PowerManager;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.util.*;import java.awt.GridBagLayout; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; import javax.swing.border.*; import javax.swing.border.TitledBorder; import javax.swing.colorchooser.*; import javax.swing.filechooser.*; import javax.accessibility.*; import java.awt.datatransfer.*; import java.awt.dnd.*; import javax.swing.tree.*; import javax.swing.table.*; import boco.DBManager.Tree.*; import boco.DBManager.Tree.ChineseTransfer;public class SelectorPanel extends JPanel{ protected SelectorListModel unselectedModel; protected SelectorListModel selectedModel; protected SelectorListModel gropModel; protected JList unselectedList;//非组用户 protected JList selectedList;//组用户 protected JTree groupTree;//组列表框 protected JScrollPane jsp_group; protected JTable userTable; protected JTable modTable; protected JScrollPane jsp_user; protected JScrollPane jsp_mod; JToolBar navToolBar = new JToolBar(); //定义按钮 private JButton firstButton; private JButton priorButton; private JButton nextButton; private JButton lastButton; private JButton insertButton; private JButton deleteButton; //private JButton postButton; //private JButton cancelButton; //private JButton dittoButton; private JButton saveButton; private JButton refreshButton; protected JButton addSelections; protected JButton addAll; protected JButton removeSelections; protected JButton removeAll; private int buttonStateFirst=0; private int buttonStatePrior=0; private int buttonStateNext=0; private int buttonStateLast=0; private int buttonStateInsert=0; private int buttonStateDelete=0; private int buttonStatePost=0; private int buttonStateCancel=0; private int buttonStateDitto=0; private int buttonStateSave=0; private int buttonStateRefresh=0; private Border emptyButtonBorder; private Border normalButtonBorder; private int orientation=0; private boolean showRollover=true; private boolean showTooltips=true; ChineseTransfer ct; PowerManager pm ; String groupname; String grouppower; TableValuesUser tvu; TableValuesMod tvm; JViewport jvp; int rowSel; int curRow=0; int curCol=0; int oldrow=0; int oldcol=0; int newrow=0; int newcol=0; String keyvalue=""; int clickcount=0; String oldvalue; String newvalue; String errMsg; int count; int rowNum; int colNum; int rowCount; int colCount; static Frame getFrame(Component c) { while((c = c.getParent()) != null) { if(c instanceof Frame) return (Frame)c; } return null; } public SelectorPanel(Object[] values,int[] selections) { super(); ct = new ChineseTransfer(); pm = new PowerManager(); unselectedModel = new SelectorListModel(null); selectedModel = new SelectorListModel(values); gropModel = new SelectorListModel(null); if(selections!=null){ selectedModel.takeEntriesFrom(unselectedModel,selections,"") ; } buildLayout(); } public SelectorPanel(Object[] values){ this(values,null); } public SelectorPanel(){ super(); pm = new PowerManager(); pm.getAllPowerUser() ; pm.vGetUsrGrpId() ; ct = new ChineseTransfer(); //if(groupname!=null) Object[] group={"应用开发组","系统管理员","支行人员组","分行人员组"}; unselectedModel = new SelectorListModel(pm.vGetUsrSign().toArray()); selectedModel = new SelectorListModel(null); //if(selections!=null){ //selectedModel.takeEntriesFrom(unselectedModel,selections) ; //} buildLayout(); } protected void buildLayout(){ SelectionListener listener = new SelectionListener(); setLayout(null); //定义组显示列表 //Object[] group={"应用开发组","系统管理员","支行人员组","分行人员组"}; pm.getAllPowerGroup() ; //pm.vGetGrpName() ; //gropList = new JList(gropModel); groupTree = new JTree(pm.vGetGrpName()); groupTree.setRootVisible(false) ; TreeNodeEditor editor=new TreeNodeEditor(new JTextField()); groupTree.setCellEditor(new defaultTreeEditor(groupTree,(DefaultTreeCellRenderer)groupTree.getCellRenderer(),editor)); groupTree.setEditable(true) ; //gropList.addListSelectionListener(listener) ; jsp_group = new JScrollPane(groupTree);//容器一 jsp_group.setBounds(new Rectangle(5,5,140,220)); jsp_group.setBorder(new TitledBorder("用户组")); //jsp_grop.addMouseListener() ; groupTree.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { jspgroup_mousePressed(e); } }); add(jsp_group); //定义组成员列表 selectedList = new JList(selectedModel); selectedList.addListSelectionListener(listener) ; JScrollPane jsp = new JScrollPane(selectedList);//容器一 jsp.setBounds(new Rectangle(160,5,100,220)); jsp.setBorder(new TitledBorder("组用户")); add(jsp); //加载按钮 add(getButtonPanel(),BorderLayout.CENTER); //非组成员列表 unselectedList = new JList(unselectedModel); unselectedList.addListSelectionListener(listener) ; JScrollPane jsp1 = new JScrollPane(unselectedList);//容器2 jsp1.setBounds(new Rectangle(310,5,100,220)); jsp1.setBorder(new TitledBorder("用 户")); //增加鼠标事件 unselectedList.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(MouseEvent e) { user_mousePressed(e); } }); add(jsp1); //用户属性表 tvu=new TableValuesUser(); TableSorter sorter=new TableSorter(); sorter.setModel(tvu); userTable = new JTable(sorter); userTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); userTable.getColumnModel().getColumn(0).setPreferredWidth(40); userTable.getColumnModel().getColumn(1).setPreferredWidth(40); userTable.getColumnModel().getColumn(2).setPreferredWidth(60); userTable.getColumnModel().getColumn(3).setPreferredWidth(120); userTable.getColumnModel().getColumn(4).setPreferredWidth(70); userTable.getColumnModel().getColumn(5).setPreferredWidth(150); userTable.getColumnModel().getColumn(6).setPreferredWidth(150); userTable.setAutoscrolls(true); sorter.addMouseListenerToHeaderInTable(userTable); jsp_user = new JScrollPane(userTable); JViewport jvp = new JViewport(); jvp.setView(new RowNumberHeader(userTable)) ; jsp_user.setRowHeader(jvp) ; jsp_user.setBounds(new Rectangle(412,5,380,220)); jsp_user.setBorder(new TitledBorder("用户列表")); jsp_user.setAutoscrolls(true); jsp_user.setVerticalScrollBarPolicy(jsp_user.VERTICAL_SCROLLBAR_ALWAYS); jsp_user.setHorizontalScrollBarPolicy(jsp_user.HORIZONTAL_SCROLLBAR_ALWAYS); //table监听 userTable.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent etm){ userTable_mouseClicked(etm); } }); add(jsp_user); //ToolBar navToolBar.setFloatable(false); navToolBar.setLayout(new FlowLayout()); navToolBar.setBounds(new Rectangle(10, 230, 790, 35)); initButtons(navToolBar); setShowRollover(!"Mac".equals(UIManager.getLookAndFeel().getID())); //ComponentUI ui = navToolBar.getUI(); setShowTooltips(true); add(navToolBar); //权限模块列表 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); add(jsp_mod); addButtonListeners(); enableButtons(); } public void setPower(TableColumn powerColumn) { //Set up the editor for the sport cells. JComboBox comboBox = new JComboBox(); comboBox.addItem("没有权限"); comboBox.addItem("读权限"); comboBox.addItem("写权限"); comboBox.addItem("所有权限"); powerColumn.setCellEditor(new DefaultCellEditor(comboBox)); //modTable.setRowSelectionInterval(modTable.getSelectedRow(),0); //Set up tool tips for the sport cells. DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(); renderer.setToolTipText("点击选择权限"); powerColumn.setCellRenderer(renderer); //Set up tool tip for the sport column header. TableCellRenderer headerRenderer = powerColumn.getHeaderRenderer(); if (headerRenderer instanceof DefaultTableCellRenderer) { ((DefaultTableCellRenderer)headerRenderer).setToolTipText( "点击选择权限"); } } public void setShowRollover(boolean showRollover){ if("Mac".equals(UIManager.getLookAndFeel().getID())) showRollover=false; this.showRollover = showRollover; if(showRollover) { //移到第一行键点击响应 firstButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent efirst){ firstButton_mouseClicked(efirst); } }); //移到前一行键点击响应 priorButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent eprior){ priorButton_mouseClicked(eprior); } }); //移到下一行键点击响应 nextButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent enext){ nextButton_mouseClicked(enext); } }); //移到最后一行键点击响应 lastButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent elast){ lastButton_mouseClicked(elast); } }); //增加一行键点击响应 insertButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent einsert){ insertButton_mouseClicked(einsert);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -