📄 mainframe.java
字号:
if(errMsg.equals("success")){ //修改权限位 new doRunSQL(DBTableName,columnValue.elementAt(2)); //增加成功: //tv.insertTableRows(columnValue,rowNum); tv.addTableRows(); JOptionPane.showMessageDialog(this,"已成功增加一行!", "成功信息", JOptionPane.QUESTION_MESSAGE); addNode(columnValue.elementAt(1).toString(),columnValue.elementAt(2).toString()); } //增加失败: else{ errMsg=getErrMsg(errMsg); JOptionPane.showMessageDialog(this,"增加失败:\n"+errMsg, "错误提示", JOptionPane.QUESTION_MESSAGE); } } else{ //取消增加 } } else{ //修改当前行 int n = JOptionPane.showConfirmDialog( this ,"确定修改当前行?", "确认提示", JOptionPane.YES_NO_OPTION); if (n == JOptionPane.YES_OPTION) { //确定修改 //取当前行的值 columnValue.removeAll(columnValue); for(count=1;count<=colCount;count++){ columnValue.addElement(jTableMode.getValueAt(rowNum,count-1)); //System.out.println("colunms="+columnValue.elementAt(count-1)); } //取SQL语句 //:输入:tablename,vector colname,vector columntype,vector columnvalue //:keyvalue,key,keytype //:输出:string sql String KeyValue=jTableMode.getValueAt(rowNum,KeyAt).toString(); //*getSQLstring se = new getSQLstring(); CreateSql cq = new CreateSql(); //:test:System.out.println("seDBTableName:"+DBTableName+"+"+DBSourceName); //:test:System.out.println("seKey:"+Key); //:test:System.out.println("seKeyType:"+KeyType); //:test:System.out.println("KeyValue:"+KeyValue); sql = cq.getUpdateString(DBSourceName,DBTableName,columnNames,columnTypeName,columnValue,KeyValue,Key,KeyType); //修改当前行 doRunSQL upd = new doRunSQL(); upd.doRunSQL(DBSourceName,sql); //取得返回信息 errMsg=upd.getErrMsg(); if(errMsg.equals("success")){ //编辑成功: //tv.updateTableRows(rowNum,columnValue); JOptionPane.showMessageDialog(this,"已成功修改当前行!", "成功信息", JOptionPane.QUESTION_MESSAGE); } else{ //编辑失败: errMsg=getErrMsg(errMsg); JOptionPane.showMessageDialog(this,"修改失败:\n"+errMsg, "错误提示", JOptionPane.QUESTION_MESSAGE); } } else{ //取消修改 } } } } else{} } //刷新回滚 public void refreshButton_mouseClicked(MouseEvent erefresh){ if(jTableMode.isVisible()){ DefaultMutableTreeNode node = (DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent(); TreePath pathnode = (TreePath)jTree1.getLeadSelectionPath(); //DBTableName=node.toString(); //System.out.println("DBTableName="+DBTableName); //:test:System.out.println(node.toString()); //处理当前点击节点为叶子节点事件 if(node.getLevel()==0){ tv=new TableValue("dbsource","dbsid"); DBTableName="dbsource"; Key = "dbsid"; DBSourceName="access"; columnNames=tv.getAllColumnName() ; columnTypeName=tv.getAllColumnTypeName() ; } else if(node.getLevel()==1){ tv = new TableValue(node,"dbtid"); Key = "dbtid"; DBTableName="dbtable"; DBSourceName="access"; columnNames=tv.getAllColumnName() ; columnTypeName=tv.getAllColumnTypeName() ; } else if(node.getLevel()==2){ String DBS_Name=pathnode.getPathComponent(1).toString(); Key = "dbtid"; DBTableName="dbtable"; tv = new TableValue(node,"dbtid",DBS_Name); DBSourceName="access"; columnNames=tv.getAllColumnName() ; columnTypeName=tv.getAllColumnTypeName() ; } else if(node.getLevel()==3){ String DBS_Name=pathnode.getPathComponent(1).toString(); String TableType=pathnode.getPathComponent(2).toString(); Key = "dbfid"; DBTableName="dbfield"; DBSourceName="access"; tv = new TableValue(node,"dbfid",DBS_Name,TableType); columnNames=tv.getAllColumnName() ; columnTypeName=tv.getAllColumnTypeName() ; } else{ tv=new TableValue("dbsource","dbsid"); DBTableName="dbsource"; Key = "dbsid"; DBSourceName="access"; columnNames=tv.getAllColumnName() ; columnTypeName=tv.getAllColumnTypeName() ; } //取得当前表关键字,唯一 KeyAt=tv.getKeyAt(); KeyType=tv.getKeyType(); //:test:System.out.println("Key="+Key); //清空当前所有数据显示,重新载入 contentPane.removeAll(); contentPane.add(treeView, null); contentPane.add(navToolBar, null); //contentPane.add(ta,null); //contentPane.add(sqlButton,null); //取得当前节点路径 //TreePath pathnode = (TreePath)jTree1.getLeadSelectionPath(); //取得当前数据源 //DBSourceName=pathnode.getPathComponent(1).toString(); //:test:System.out.println("DBSourceName="+DBSourceName); //:test:System.out.println(pathnode.toString()); //tv=null; //取得TableValues值 //tv=new TableValues(pathnode,node,Key); //取得关键字列 KeyAt=tv.getKeyAt(); //取得关键字类型 KeyType=tv.getKeyType(); //取得所有列名称 columnNames=tv.getAllColumnName(); //取得所有列类型 columnTypeName=tv.getAllColumnTypeName(); //System.out.println("KeyType:"+KeyType); //System.out.println("KeyAt="+KeyAt); //设置排序 //sorter.setModel(tv); //定义JTable并设置属性/响应事件 jTableMode = new JTable(tv); if(node.getLevel() == 3){ setFieldType(jTableMode.getColumnModel().getColumn(5)); } jTableMode.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jTableMode.setAutoscrolls(true); jTableMode.setRowSelectionAllowed(true); //允许行选择 jTableMode.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jTableMode.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent etm){ jTableMode_mouseClicked(etm); } }); //响应排序 //sorter.addMouseListenerToHeaderInTable(jTableMode); //初始化JScrollPane并设置属性 JScroll = new JScrollPane(jTableMode); JScroll.setAutoscrolls(true); JScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); JScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); JScroll.setViewportBorder(BorderFactory.createEtchedBorder()); JScroll.setBounds(new Rectangle(250, 60, 540, 500)); //初始化JViewport并设置属性 JViewport jvp=new JViewport(); jvp.setView(new RowNumberHeader(jTableMode)); JScroll.setRowHeader(jvp); //置视点于编辑后的行 if(curRow==-1){ //未选中行,不响应 } else{ JViewport jsp=JScroll.getViewport(); jTableMode.setRowSelectionInterval(curRow,curRow); jsp.setViewPosition(new Point(0,tableHigh)); jsp.setView(jTableMode); } //显示与清除 contentPane.add(JScroll,null); JScroll.remove(jTableMode); jTableMode.removeAll(); } else{} } //当前TABLE点击响应事件,取得各参数值 public void jTableMode_mouseClicked(MouseEvent etm){ rowTotal=jTableMode.getRowCount(); curRow=jTableMode.getSelectedRow(); curCol=jTableMode.getSelectedColumn(); } //取得返回信息 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; } //增加树节点 public void addNode(String name,String type){ DefaultMutableTreeNode nodenew=new DefaultMutableTreeNode(name); DefaultMutableTreeNode nodetype=new DefaultMutableTreeNode(type); DefaultMutableTreeNode node = (DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent(); DefaultMutableTreeNode nodeParent; DefaultTreeModel model=(DefaultTreeModel)(jTree1.getModel()); //如果是添加数据源,直接添加到树的根下 if(node.getLevel()==0 || node.getLevel()==2){ model.insertNodeInto(nodenew,node,node.getChildCount()); } //如果是添加数据表,则添加到对应的类型下面 if(node.getLevel() == 1){ //如果没有任何数据表,先添加类型,再添加数据表 int nodeat=0; if(node.getChildCount()==0){ model.insertNodeInto(nodetype,node,0); //添加数据表 MutableTreeNode nodeType = (MutableTreeNode)node.getChildAt(0); //test:System.out.println("Come here!") ; model.insertNodeInto(nodenew,nodeType,0); } if(node.getChildCount()>0){ for(int k=0;k<node.getChildCount() ;k++){ //如果类型存在,则添加到对应的类型下面(添加到第四层) //test:System.out.println("node.getChildAt(k).toString()::"+node.getChildAt(k).toString()) ; if(type.equals(node.getChildAt(k).toString())){ nodeat=k; } } if(nodeat>0){ MutableTreeNode nodeType = (MutableTreeNode)node.getChildAt(nodeat); //test:System.out.println("Come here!!") ; model.insertNodeInto(nodenew,nodeType,nodeType.getChildCount()); } else{ //如果类型不存在,先添加类型,在添加到对应的类型下面(先添加第三层再添加到第三层下) //添加类型 //test:System.out.println("nodetype.getChildCount1:"+node.getChildCount()) ; model.insertNodeInto(nodetype,node,node.getChildCount()); //test:System.out.println("nodetype.getChildCount2:"+node.getChildCount()) ; //添加数据表 MutableTreeNode nodeType = (MutableTreeNode)node.getChildAt(node.getChildCount()-1); //test:System.out.println("Come here!!!") ; model.insertNodeInto(nodenew,nodeType,0); } } } //jTree1.repaint() ; } //删除树节点 public void delNode(String name){ //DefaultMutableTreeNode node=null; DefaultMutableTreeNode node = (DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent(); int nodeAt = -1; for(int i=0;i<node.getChildCount() ;i++){ if((node.getChildAt(i).isLeaf()) && node.getChildAt(i).toString().equals(name)){ nodeAt = i; } } if(nodeAt>=0){ DefaultTreeModel model=(DefaultTreeModel)(jTree1.getModel()); TreePath[] paths=jTree1.getSelectionPaths(); for(int i=0;i<paths.length;i++){ node=(DefaultMutableTreeNode)(paths[i].getLastPathComponent()); model.removeNodeFromParent((DefaultMutableTreeNode)node.getChildAt(nodeAt)); //System.out.println("ChildCount="+node.getChildCount()); if(node.getChildCount()==0 && node.getLevel()==2){ model.removeNodeFromParent(node); } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -