⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectorpanel.java

📁 农业银行ATM对帐查询系统后台类包的源代码,实现了FTP,数据库管理等等功能
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
package boco.shabank.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.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.shabank.dbconnection.*;import boco.shabank.dbmanager.*;import boco.shabank.dbmanager.ChineseTransfer;public class SelectorPanel extends JPanel{  //定义容器  protected SelectorListModel unselectedModel;  protected SelectorListModel selectedModel;  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;  protected JToolBar navToolBar = new JToolBar();  protected JViewport jvp;  //定义按钮  protected JButton firstButton;  protected JButton priorButton;  protected JButton nextButton;  protected JButton lastButton;  protected JButton insertButton;  protected JButton deleteButton;  protected JButton dittoButton;  protected JButton saveButton;  protected JButton refreshButton;  protected JButton addSelections;  protected JButton addAll;  protected JButton removeSelections;  protected JButton removeAll;  private Border emptyButtonBorder;  private Border normalButtonBorder;  private int orientation=0;  private boolean showRollover=true;  private boolean showTooltips=true;  //字符转换  protected ChineseTransfer ct;  protected PowerManager pm ;//权限管理bean  protected String groupname;  protected String grouppower;  protected TableValuesUser tvu;//用户列表模板  protected TableValuesMod tvm;//权限块列表模块  protected int rowSel_tuser=0;//userTable当前行  protected int colSel_tuser=0;//userTable当前列  protected int rowCount_tuser=0;//userTable总行数  protected int colCount_tuser=0;//userTable总列数  protected int oldrow=0;//上一次选中的行  protected int oldcol=0;//上一次选中的列  protected int rowSel_tmod=0;//modTable当前行  protected int colSel_tmod=0;//modTable当前列  protected int rowCount_tmod=0;//modTable总行数  protected int colCount_tmod=0;//modTable总列数  protected int viewHigh=0;  protected int rowSel;  protected String keyvalue="";//主键值  protected String oldvalue;  protected String newvalue;  protected String errMsg;//错误返回信息  static Frame getFrame(Component c) {    while((c = c.getParent()) != null) {      if(c instanceof Frame)        return (Frame)c;    }    return null;  }  //构造函数1  public SelectorPanel(Object[] values,int[] selections) {    super();    ct = new ChineseTransfer();    pm = new PowerManager();    unselectedModel = new SelectorListModel(null);    selectedModel = new SelectorListModel(values);    if(selections!=null){      selectedModel.takeEntriesFrom(unselectedModel,selections,"") ;    }    buildLayout();  }  //构造函数2  public SelectorPanel(Object[] values){    this(values,null);  }  // 构造函数3  public SelectorPanel(){    super();    ct = new ChineseTransfer();    pm = new PowerManager();    pm.getAllPowerUser() ;//取所有用户信息    pm.vGetUsrGrpId() ;//取用户sign    unselectedModel = new SelectorListModel(pm.vGetUsrSign().toArray());//非组用户Listmode    selectedModel = new SelectorListModel(null);//组用户Listmode    buildLayout();//布局  }  //***********************************************************  //组键布局  //**********************************************************  protected void buildLayout(){    SelectionListener listener = new SelectionListener();    setLayout(null);    //定义组显示列表    pm.getAllPowerGroup() ;//取用户组信息    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) ;    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);//非组成员容器    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()));    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));//设置ComboBox    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);    modTable.addMouseListener(new java.awt.event.MouseAdapter(){      public void mouseClicked(MouseEvent etm){        modTable_mouseClicked(etm);      }    });    add(jsp_mod);    addButtonListeners();    enableButtons();//按钮状态控制  }  //————————————————————————————————————————————————————————————————————————————————  //*****************************************************************************  //设置权限ComboBox  //****************************************************************************  public void setPower(TableColumn powerColumn) {    JComboBox comboBox = new JComboBox();    comboBox.addItem("没有权限");    comboBox.addItem("读权限");    comboBox.addItem("写权限");    comboBox.addItem("所有权限");    powerColumn.setCellEditor(new DefaultCellEditor(comboBox));    //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("点击选择权限");    } /*comboBox.addMouseListener(new java.awt.event.MouseAdapter(){                public void mouseClicked(MouseEvent e){      modTable_mouseClicked(e);                  modTable.setRowSelectionInterval(rowSel_tmod,rowSel_tmod);               }                }); */  }  //——————————————————————————————————————————————————————————————————————————————————  //**********************************************************************************  //功能按钮显示  //**********************************************************************************  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);        }      });      //删除键点击响应      deleteButton.addMouseListener(new java.awt.event.MouseAdapter(){        public void mouseClicked(MouseEvent edelete){          deleteButton_mouseClicked(edelete);        }      });      //拷贝当前行:      dittoButton.addMouseListener(new java.awt.event.MouseAdapter(){        public void mouseClicked(MouseEvent editto){          dittoButton_mouseClicked(editto);        }      });      //保存键点击响应

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -