📄 selectorpanel.java.bak
字号:
rowNum=modTable.getSelectedRow(); modTable.setRowSelectionInterval(0,0); jvp.setViewPosition(new Point(0,0)); jvp.setView(modTable); } } else{} } //选择前一行 public void priorButton_mouseClicked(MouseEvent eprior){ int rowNum; int colNum; int viewHigh; int rowCount; JViewport jvp=jsp_mod.getViewport(); if(modTable.isVisible()){ if(modTable.getRowCount()==1){ //无数据,不响应 } else{ //有数据,响应 rowCount=modTable.getRowCount(); rowNum=modTable.getSelectedRow(); colNum=modTable.getSelectedColumn(); if(rowNum==-1){ //当前表未被选中,选中第一行 modTable.setRowSelectionInterval(0,0); jvp.setViewPosition(new Point(0,0)); jvp.setView(modTable); } else{ viewHigh=(rowNum-1)*modTable.getHeight()/rowCount; if(rowNum==0){ //已在首行,置视点 jvp.setViewPosition(new Point(0,0)); jvp.setView(modTable); } else{ //不在首行,响应并设视点 modTable.setRowSelectionInterval(rowNum-1,rowNum-1); jvp.setViewPosition(new Point(0,viewHigh)); jvp.setView(modTable); } } } } else{} } //选择下一行 public void nextButton_mouseClicked(MouseEvent enext){ int rowNum; int colNum; int viewHigh; int rowCount; JViewport jvp=jsp_mod.getViewport(); if(modTable.isVisible()){ if(modTable.getRowCount()==1){ //无数据,不响应 } else{ //有数据,响应 rowNum=modTable.getSelectedRow(); colNum=modTable.getSelectedColumn(); rowCount=modTable.getRowCount(); viewHigh=(rowNum+1)*modTable.getHeight()/rowCount; if(rowNum+1==modTable.getRowCount()){ //已在尾行,不响应 } else{ //不在尾行,响应并设置视点 modTable.setRowSelectionInterval(rowNum+1,rowNum+1); jvp.setViewPosition(new Point(0,viewHigh)); jvp.setView(modTable); } } } else{} } //选择最后一行 public void lastButton_mouseClicked(MouseEvent elast){ int rowNum; int colNum; int rowCount; int viewHigh; JViewport jvp=jsp_mod.getViewport(); if(modTable.isVisible()){ if(modTable.getRowCount()==1){ //无数据,不响应 } else{ //有数据,响应 viewHigh=modTable.getHeight(); rowCount=modTable.getRowCount(); rowNum=modTable.getSelectedRow(); if(rowNum==modTable.getRowCount()){ //已在尾行,不动作 } else{ //不在尾行,响应并设视点 modTable.setRowSelectionInterval(rowCount-2,rowCount-2); jvp.setViewPosition(new Point(0,viewHigh)); jvp.setView(modTable); } } } else{} } //删除当前行 public void deleteButton_mouseClicked(MouseEvent edelete){ int rowNum; int colNum; int rowCount; String KeyValue; rowCount=modTable.getRowCount(); JViewport jvp=jsp_mod.getViewport(); if(rowCount==1){ //无数据,不响应 } else{ //有数据,响应 rowNum=modTable.getSelectedRow(); colNum=modTable.getSelectedColumn(); if(rowNum==-1 || rowNum==modTable.getRowCount()-1){ //没有选中作何行,或选中空白行,无动作 } else{ //选中非最后空白行,响应并设视点 //取关键列对应值 KeyValue=modTable.getValueAt(rowNum,0).toString(); errMsg=pm.delPowerMod(KeyValue) ; //:test:System.out.println("Keyvalue="+KeyValue); //确定删除当前行的弹出框提示 int n = JOptionPane.showConfirmDialog( this ,"确定删除当前行?", "确认提示", JOptionPane.YES_NO_OPTION); if (n == JOptionPane.YES_OPTION) { //确定删除 //显示返回信息 if(errMsg.equals("success")){ //删除成功: JOptionPane.showMessageDialog(this,"已成功删除当前行!", "成功信息", JOptionPane.QUESTION_MESSAGE); tvm.removeTableRows(rowNum); } else{ //删除失败: errMsg=getErrMsg(errMsg); JOptionPane.showMessageDialog(this,"删除失败:\n"+errMsg, "错误提示", JOptionPane.QUESTION_MESSAGE); } } } } } //增加一行 public void insertButton_mouseClicked(MouseEvent einsert){ JViewport jvp=jsp_mod.getViewport(); if(modTable.getRowCount()==1){ //无数据,选中首行 modTable.setRowSelectionInterval(0,0); tvm.setValueAt("0",0,0) ; } else{ //已有数据,选中最后一行并设视点 rowCount=modTable.getRowCount(); colNum=modTable.getSelectedColumn(); tvm.setValueAt(Integer.toString(Integer.parseInt(modTable.getValueAt(rowCount-2,0).toString())+1),rowCount-1,0) ; modTable.setRowSelectionInterval(rowCount-1,rowCount-1); jvp.setViewPosition(new Point(0,modTable.getHeight())); jvp.setView(modTable); } } //保存修改或增加当前行 public void saveButton_mouseClicked(MouseEvent esave){ Vector colValues; rowCount=modTable.getRowCount(); colCount=modTable.getColumnCount(); rowNum=modTable.getSelectedRow(); colNum=modTable.getSelectedColumn(); //:test:System.out.println("rowCount:"+rowCount); //:test:System.out.println("colCount:"+colCount); //未选中任何行 if(rowNum==-1){} else{ //增加当前行 int m = JOptionPane.showConfirmDialog( this ,"确定保存当前行?", "确认提示", JOptionPane.YES_NO_OPTION); if(m == JOptionPane.YES_OPTION) { //取当前行的值 Vector columnValue = new Vector(); for(count=1;count<=colCount;count++){ columnValue.addElement(modTable.getValueAt(rowNum,count-1)); System.out.println("column1="+columnValue.elementAt(count-1)); } //增加一条 errMsg=pm.insertPowerMod(columnValue) ; setGroupPower(groupname); System.out.println("insertmodsql:"+pm.getSQL()); //String errMsg="success";//ins.getErrMsg(); if(errMsg.equals("success")){ //增加成功: //tv.insertTableRows(columnValue,rowNum); //tv.addTableRows(); JOptionPane.showMessageDialog(this,"已成功保存信息!", "成功信息", 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() ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -