📄 mainframe.java
字号:
package boco.DBManager.Tree;//******************************************************************************//:功能:实现WEB数据管理的主模块//:时间:2002-07//:作者:王建宾//:特殊描述::test:为DEBUG时启用//:程序描述:// 本程序由7个主要部分组成// (1)系统类库引用定义// (2)全局变量/模板/控件的定义// (3)构造函数/初始化函数/控件初始化// (4)数据库树的显示:通过对DBSource/DBTable轮询取得// (5)响应树点击,显示相关数据库表信息:通过对不同数据源下的表查询取得// (6)处理各BUTTONS响应事件:实现对工具栏中的不同按钮用途// (7)TableCellEditor的函数定义:满足对单元格修改后数据暂存与刷新需求//:版本:1.0.0//******************************************************************************import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.tree.*;import javax.swing.table.*;import javax.swing.border.*;import java.sql.*;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import javax.swing.JTable;import javax.swing.table.AbstractTableModel;import javax.swing.JViewport;import javax.swing.JOptionPane;import javax.swing.JDialog;import java.awt.Component;public class mainFrame extends JFrame implements TableCellEditor{//******************************************************************************//定义及初始化开始: //保存执行的SQL语句 String sql=""; //保存当前行的关键字,唯一 Vector Key=new Vector(); //保存当前行的关键字类型 Vector KeyType=new Vector(); //保存返回错误信息 String errMsg=""; //保存当前数据源名 String DBSourceName=""; //保存当前数据表名 String DBTableName=""; //当前行 int curRow=0; //当前列 int curCol=0; //当前总行数 int rowTotal=0; //当前Table的高度值 int tableHigh=0; //关键字所在列数 Vector KeyAt=new Vector(); //保存当前列名称的向量 Vector columnNames=new Vector(); //保存当前所有列类型的向量 Vector columnTypeName=new Vector(); //保存当前行的所有值向量 Vector columnValue=new Vector(); //域字段ID Vector pubDBFID = new Vector(); Vector pubDBTID = new Vector(); Vector pubDBFName = new Vector(); Vector pubDBFNameCN = new Vector(); Vector pubDBFOperator = new Vector(); Vector pubDBFType = new Vector(); Vector pubFValues = new Vector(); //权限定义 String User = "";//用户,参数传入 String thePower = "";//用户返回的权限字符串 Vector vViewPower = new Vector();//用户查看数据源的权限集 String viewPower = "";//具体数据源的查看权限 Vector vActionPower = new Vector();//用户操作类数据表的权限集 int actPower = 0;//具体类数据表的操作权限 Vector vAllPower = new Vector();//所有权限集 //中文DB2转换 ChineseTransfer A2C = new ChineseTransfer(); //取当前键值 getDBTKey getKey = new getDBTKey(); protected EventListenerList listenerList = new EventListenerList(); protected ChangeEvent changeEvent = new ChangeEvent(this); //工具条 JToolBar navToolBar = new JToolBar(); javax.swing.JTextField temp=new javax.swing.JTextField(""); //主面板 JPanel contentPane=null; //滚动面板 JScrollPane JScroll=null; //数据显示表 JTable jTableMode=null; //数据表值 TableValues tv=null; //树主节点定义 DefaultMutableTreeNode top = new DefaultMutableTreeNode("Database URLs"); JTree jTree1 = new JTree(top); //显示树的滚动面板 JScrollPane treeView = new JScrollPane(jTree1); DefaultTreeCellRenderer treeRenderer = new DefaultTreeCellRenderer(); //文本操作域控件的定义: //TAB板定义 JTabbedPane jTabbedPane1 = new JTabbedPane(); //TAB板中的两个面板定义 JPanel jpaneCon = new JPanel(); JPanel jpaneInp = new JPanel(); FlowLayout flowLayout1_paneInp = new FlowLayout(); FlowLayout flowLayout1_paneCon = new FlowLayout(); //JLabel在TAB的两个面板上 JLabel jLabelCon = new JLabel(); JLabel jLabelInp = new JLabel(); JLabel jLabelField1 = new JLabel(); JLabel jLabelField2 = new JLabel(); JLabel jLabelField3 = new JLabel(); JLabel jLabelField4 = new JLabel(); JLabel jLabelField5 = new JLabel(); JLabel jLabelField6 = new JLabel(); JLabel jLabelField7 = new JLabel(); JLabel jLabelField8 = new JLabel(); //JTextArea在TAB的两个面板上 JTextArea jTextInp = new JTextArea(); JTextArea jTextCon1 = new JTextArea(); JTextArea jTextCon2 = new JTextArea(); JTextArea jTextCon3 = new JTextArea(); JTextArea jTextCon4 = new JTextArea(); JTextArea jTextCon5 = new JTextArea(); JTextArea jTextCon6 = new JTextArea(); JTextArea jTextCon7 = new JTextArea(); JTextArea jTextCon8 = new JTextArea(); //JButton在TAB的两个面板上 JButton jButtonConExec = new JButton("Execute"); JButton jButtonConClear = new JButton("Clear"); JButton jButtonInpExec = new JButton("Execute"); JButton jButtonInpClear = new JButton("Clear"); //树的子节点定义 DefaultMutableTreeNode node1 = null; DefaultMutableTreeNode child1 = null; DefaultMutableTreeNode child1_level1 = null; //定义BUTTON及其属性 private JButton firstButton; private JButton priorButton; private JButton nextButton; private JButton lastButton; private JButton insertButton; private JButton deleteButton; private JButton dittoButton; private JButton saveButton; private JButton refreshButton; public static final int AUTO_ENABLED = 0; public static final int AUTO_HIDDEN = 1; public static final int ENABLED = 2; public static final int DISABLED = 3; public static final int HIDDEN = 4; private boolean showRollover=true; private boolean showTooltips=true; 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 buttonStateSave=0; private int buttonStateRefresh=0; private Border emptyButtonBorder; private Border normalButtonBorder; private int orientation=0;//:定义及初始化结束//******************************************************************************//******************************************************************************//构造函数/初始化函数/控件初始化定义开始: //构造函数 public mainFrame(String UserName) { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { User = UserName; //:test:System.out.println("The User:"+User); jbInit(); } catch(Exception e) { e.printStackTrace(); } } //初始化BUTTON导入图片 private void initButtons(JToolBar toolbar) { firstButton = initButton("first.gif"); emptyButtonBorder = new EmptyBorder(firstButton.getBorder().getBorderInsets(firstButton)); normalButtonBorder=UIManager.getBorder("Button.border"); toolbar.add(firstButton); priorButton = initButton("prior.gif"); toolbar.add(priorButton); nextButton = initButton("next.gif"); toolbar.add(nextButton); lastButton = initButton("last.gif"); toolbar.add(lastButton); insertButton = initButton("insert.gif"); toolbar.add(insertButton); deleteButton = initButton("delete.gif"); toolbar.add(deleteButton); dittoButton = initButton("ditto.gif"); toolbar.add(dittoButton); saveButton = initButton("save.gif"); toolbar.add(saveButton); refreshButton = initButton("refresh.gif"); toolbar.add(refreshButton); } //响应事件定义 class MouseListener extends MouseAdapter{ public void mouseClicked(MouseEvent e){ } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { JButton button = (JButton)e.getSource(); if(showRollover) if(button.isEnabled()) { } else { button.setBorder(emptyButtonBorder); } } public void mouseEntered(MouseEvent e) { JButton button = (JButton)e.getSource(); if(showRollover && button.isEnabled()) button.setBorder(normalButtonBorder); } public void mouseExited(MouseEvent e) { JButton button = (JButton)e.getSource(); if(showRollover) button.setBorder(emptyButtonBorder); } } private JButton initButton(String imageName) { JButton jButton = new JButton(new ImageIcon(getClass().getResource("/image/".concat(String.valueOf(String.valueOf(imageName)))))); jButton.addMouseListener(new MouseListener()); jButton.setMargin(new Insets(0, 0, 0, 0)); return jButton; } 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(); } }); //移到前一行键点击响应 priorButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent eprior){ priorButton_mouseClicked(); } }); //移到下一行键点击响应 nextButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent enext){ nextButton_mouseClicked(); } }); //移到最后一行键点击响应 lastButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent elast){ lastButton_mouseClicked(); } }); //增加一行键点击响应 insertButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent einsert){ insertButton_mouseClicked(); } }); //删除键点击响应 deleteButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent edelete){ deleteButton_mouseClicked(); } }); //拷贝键点击响应 dittoButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent editto){ dittoButton_mouseClicked(); } }); //保存键点击响应 saveButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent esave){ //if(jTableMode.isEditing()){ // JOptionPane.showMessageDialog(contentPane,"请退出当前单元格的编辑状态!", // "信息提示", // JOptionPane.INFORMATION_MESSAGE); //} //else{ saveButton_mouseClicked(); //refreshButton_mouseClicked(esave); //} } }); //刷新回滚键点击响应 refreshButton.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent erefresh){ refreshButton_mouseClicked(); } }); //jButtonConExec的响应函数 jButtonConExec.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent eConExec){ jButtonConExec_mouseClicked(); } }); //jButtonInpExec的响应函数 jButtonInpExec.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent eInpExec){ jButtonInpExec_mouseClicked(); } }); //jButtonConClear的响应函数 jButtonConClear.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent eConClear){ jButtonConClear_mouseClicked(); } }); //jButtonInpClear的响应函数 jButtonInpClear.addMouseListener(new java.awt.event.MouseAdapter(){ public void mouseClicked(MouseEvent eInpClear){ jButtonInpClear_mouseClicked(); } }); } else { firstButton.removeMouseListener(new MouseListener()); priorButton.removeMouseListener(new MouseListener()); nextButton.removeMouseListener(new MouseListener()); lastButton.removeMouseListener(new MouseListener()); insertButton.removeMouseListener(new MouseListener()); deleteButton.removeMouseListener(new MouseListener()); dittoButton.removeMouseListener(new MouseListener()); saveButton.removeMouseListener(new MouseListener());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -