📄 databasemanagerswing.java
字号:
"Show system tables in table tree to the left"); tipMap.put(boxShowGrid, "Show query results in grid (in text if off)"); tipMap.put(boxRowCounts, "Show row counts with table names in tree"); boxAutoRefresh.setMnemonic(KeyEvent.VK_C); boxShowSchemas.setMnemonic(KeyEvent.VK_Y); boxAutoCommit.setMnemonic(KeyEvent.VK_A); boxShowSys.setMnemonic(KeyEvent.VK_Y); boxShowGrid.setMnemonic(KeyEvent.VK_G); boxRowCounts.setMnemonic(KeyEvent.VK_C); boxLogging.setMnemonic(KeyEvent.VK_L); rbAllSchemas.setMnemonic(KeyEvent.VK_ASTERISK); rbNativeLF.setMnemonic(KeyEvent.VK_N); rbJavaLF.setMnemonic(KeyEvent.VK_J); rbMotifLF.setMnemonic(KeyEvent.VK_M); mitemUpdateSchemas.setMnemonic(KeyEvent.VK_U); Object[] soptions = { // Added: (weconsultants@users) New menu options rbNativeLF, rbJavaLF, rbMotifLF, "--", "-Set Fonts", "--", boxAutoCommit, "CCommit", "LRollback", "--", "-Disable MaxRows", "-Set MaxRows to 100", "--", boxLogging, "--", "-Insert test data" }; addMenu(bar, "Options", soptions); String[] stools = { "-Dump", "-Restore", "-Transfer" }; jmenu = addMenu(bar, "Tools", stools); localActionList.add(jmenu); for (int i = 0; i < jmenu.getItemCount(); i++) { mitem = jmenu.getItem(i); if (mitem != null) { localActionList.add(mitem); } } mnuSchemas.setMnemonic(KeyEvent.VK_S); bar.add(mnuSchemas); JMenu mnuHelp = new JMenu("Help"); mnuHelp.setMnemonic(KeyEvent.VK_H); mnuHelp.add(mitemAbout); mnuHelp.add(mitemHelp); mnuHelp.add(boxTooltips); rbAllSchemas.addActionListener(schemaListListener); // May be illegal: mitemUpdateSchemas.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { updateSchemaList(); } }); mitemHelp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { JOptionPane.showMessageDialog( fMain.getContentPane(), HELP_TEXT, "HELP", JOptionPane.INFORMATION_MESSAGE); } }); mitemAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { JOptionPane.showMessageDialog( fMain.getContentPane(), ABOUT_TEXT, "About", JOptionPane.INFORMATION_MESSAGE); } }); boxTooltips.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { showTooltips = boxTooltips.isSelected(); resetTooltips(); } }); bar.add(mnuHelp); if (fMain instanceof JApplet) { ((JApplet) fMain).setJMenuBar(bar); } else if (fMain instanceof JFrame) { ((JFrame) fMain).setJMenuBar(bar); } initGUI(); sRecent = new String[iMaxRecent]; // Modified: (weconsultants@users)Mode code to CommonSwing for general use if (!(fMain instanceof JApplet)) { CommonSwing.setFramePositon((JFrame) fMain); } // Modified: (weconsultants@users) Changed from deprecated show() ((Component) fMain).setVisible(true); // (ulrivo): load query from command line if (defScript != null) { if (defDirectory != null) { defScript = defDirectory + File.separator + defScript; } // if insert stmet is thousands of records...skip showing it // as text. Too huge. sqlScriptBuffer = DatabaseManagerCommon.readFile(defScript); if (4096 <= sqlScriptBuffer.length()) { int eoThirdLine = sqlScriptBuffer.indexOf('\n'); if (eoThirdLine > 0) { eoThirdLine = sqlScriptBuffer.indexOf('\n', eoThirdLine + 1); } if (eoThirdLine > 0) { eoThirdLine = sqlScriptBuffer.indexOf('\n', eoThirdLine + 1); } if (eoThirdLine < 1) { eoThirdLine = 100; } txtCommand.setText("............... Script File loaded: " + defScript + " ..................... \n" + "............... Click Execute or Clear " + "...................\n" + sqlScriptBuffer.substring(0, eoThirdLine + 1) + "..........................................." + "..............................\n" + "............................................." + "............................\n"); txtCommand.setEnabled(false); } else { txtCommand.setText(sqlScriptBuffer); sqlScriptBuffer = null; txtCommand.setEnabled(true); } } // This must be done AFTER all tip texts are put into the map resetTooltips(); txtCommand.requestFocus(); } private JMenu addMenu(JMenuBar b, String name, Object[] items) { JMenu menu = new JMenu(name); menu.setMnemonic(name.charAt(0)); addMenuItems(menu, items); b.add(menu); return menu; } private void addMenuItems(JMenu f, Object[] m) { /* * This method needs to be completely written or just * obliterated and we'll use the Menu objects directly. * Problem is, passing in Strings for menu elements makes it * extremely difficult to use non-text menu items (an important * part of a good Gui), hot-keys, mnemonic keys, tooltips. * Note the "trick" required here to set hot-keys. */ Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); for (int i = 0; i < m.length; i++) { if (m[i].equals("--")) { f.addSeparator(); } else if (m[i].equals("---")) { // (ulrivo): full size on screen with less than 640 width if (d.width >= 640) { f.addSeparator(); } else { return; } } else { JMenuItem item; if (m[i] instanceof JMenuItem) { item = (JMenuItem) m[i]; } else if (m[i] instanceof String) { item = new JMenuItem(((String) m[i]).substring(1)); char c = ((String) m[i]).charAt(0); if (c != '-') { KeyStroke key = KeyStroke.getKeyStroke(c, Event.CTRL_MASK); item.setAccelerator(key); } } else { throw new RuntimeException( "Unexpected element for menu item creation: " + m[i].getClass().getName()); } item.addActionListener(this); f.add(item); } } } public void keyPressed(KeyEvent k) {} public void keyReleased(KeyEvent k) {} public void keyTyped(KeyEvent k) { if (k.getKeyChar() == '\n' && k.isControlDown()) { k.consume(); executeCurrentSQL(); } } Thread dummyThread = new Thread("dummy"); public void actionPerformed(ActionEvent ev) { String s = ev.getActionCommand(); if (s == null) { if (ev.getSource() instanceof JMenuItem) { JMenuItem i; s = ((JMenuItem) ev.getSource()).getText(); } } if (s == null) {} else if (s.equals("Exit")) { windowClosing(null); } else if (s.equals("Transfer")) { Transfer.work(null); } else if (s.equals("Dump")) { Transfer.work(new String[]{ "-d" }); } else if (s.equals("Restore")) { Transfer.work(new String[]{ "-r" }); } else if (s.equals(LOGGING_BOX_TEXT)) { JavaSystem.setLogToSystem(boxLogging.isSelected()); } else if (s.equals(AUTOREFRESH_BOX_TEXT)) { autoRefresh = boxAutoRefresh.isSelected(); refreshTree(); } else if (s.equals("Refresh Tree")) { refreshTree(); } else if (s.startsWith("#")) { int i = Integer.parseInt(s.substring(1)); txtCommand.setText(sRecent[i]); } else if (s.equals("Connect...")) { Connection newCon = null; try { setWaiting("Connecting"); newCon = ConnectionDialogSwing.createConnection(jframe, "Connect"); } finally { setWaiting(null); } connect(newCon); } else if (s.equals(GRID_BOX_TEXT)) { gridFormat = boxShowGrid.isSelected(); displayResults(); } else if (s.equals("Open Script...")) { JFileChooser f = new JFileChooser("."); f.setDialogTitle("Open Script..."); // (ulrivo): set default directory if set from command line if (defDirectory != null) { f.setCurrentDirectory(new File(defDirectory)); } int option = f.showOpenDialog((Component) fMain); if (option == JFileChooser.APPROVE_OPTION) { File file = f.getSelectedFile(); if (file != null) { sqlScriptBuffer = DatabaseManagerCommon.readFile( file.getAbsolutePath()); if (4096 <= sqlScriptBuffer.length()) { int eoThirdLine = sqlScriptBuffer.indexOf('\n'); if (eoThirdLine > 0) { eoThirdLine = sqlScriptBuffer.indexOf( '\n', eoThirdLine + 1); } if (eoThirdLine > 0) { eoThirdLine = sqlScriptBuffer.indexOf( '\n', eoThirdLine + 1); } if (eoThirdLine < 1) { eoThirdLine = 100; } txtCommand.setText( "............... Script File loaded: " + file + " ..................... \n" + "............... Click Execute or Clear " + "...................\n" + sqlScriptBuffer.substring(0, eoThirdLine + 1) + "........................................." + "................................\n" + "..........................................." + "..............................\n"); txtCommand.setEnabled(false); } else { txtCommand.setText(sqlScriptBuffer); sqlScriptBuffer = null; txtCommand.setEnabled(true); } } } } else if (s.equals("Save Script...")) { JFileChooser f = new JFileChooser("."); f.setDialogTitle("Save Script"); // (ulrivo): set default directory if set from command line if (defDirectory != null) { f.setCurrentDirectory(new File(defDirectory)); } int option = f.showSaveDialog((Component) fMain); if (option == JFileChooser.APPROVE_OPTION) { File file = f.getSelectedFile(); if (file != null) { DatabaseManagerCommon.writeFile(file.getAbsolutePath(), txtCommand.getText()); } } } else if (s.equals("Save Result...")) { JFileChooser f = new JFileChooser("."); f.setDialogTitle("Save Result..."); // (ulrivo): set default directory if set from command line if (defDirectory != null) { f.setCurrentDirectory(new File(defDirectory)); } int option = f.showSaveDialog((Component) fMain); if (option == JFileChooser.APPROVE_OPTION) { File file = f.getSelectedFile(); if (file != null) { showResultInText(); DatabaseManagerCommon.writeFile(file.getAbsolutePath(), txtResult.getText()); } } } else if (s.equals(SHOWSYS_BOX_TEXT)) { showSys = boxShowSys.isSelected(); try { refreshTree(); } catch (Exception e) { // Added: (weconsultants@users) CommonSwing.errorMessage(e); } } else if (s.equals(ROWCOUNTS_BOX_TEXT)) { displayRowCounts = boxRowCounts.isSelected(); try { refreshTree(); } catch (Exception e) { // Added: (weconsultants@users)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -