📄 databasemanagerswing.java
字号:
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();
refreshTree();
} else if (s.equals(ROWCOUNTS_BOX_TEXT)) {
displayRowCounts = boxRowCounts.isSelected();
refreshTree();
} else if (s.startsWith("LFMODE:")) {
setLF(s.substring("LFMODE:".length()));
} else if (s.equals("Set Fonts")) {
// Added: (weconsultants@users)
FontDialogSwing.creatFontDialog(refForFontDialogSwing);
} else if (s.equals(AUTOCOMMIT_BOX_TEXT)) {
try {
cConn.setAutoCommit(boxAutoCommit.isSelected());
} catch (SQLException e) {
boxAutoCommit.setSelected(!boxAutoCommit.isSelected());
// Added: (weconsultants@users)
CommonSwing.errorMessage(e);
}
} else if (s.equals("COMMIT*")) {
try {
cConn.commit();
showHelp(new String[] {
"", "COMMIT executed"
});
} catch (SQLException e) {
// Added: (weconsultants@users)
CommonSwing.errorMessage(e);
}
} else if (s.equals("Insert test data")) {
insertTestData();
refreshTree();
} else if (s.equals("ROLLBACK*")) {
try {
cConn.rollback();
showHelp(new String[] {
"", "ROLLBACK executed"
});
} catch (SQLException e) {
// Added: (weconsultants@users)
CommonSwing.errorMessage(e);
}
} else if (s.equals("Disable MaxRows")) {
try {
sStatement.setMaxRows(0);
} catch (SQLException e) {
// Added: (weconsultants@users)
CommonSwing.errorMessage(e);
}
} else if (s.equals("Set MaxRows to 100")) {
try {
sStatement.setMaxRows(100);
} catch (SQLException e) {
CommonSwing.errorMessage(e);
}
} else if (s.equals("SELECT")) {
showHelp(DatabaseManagerCommon.selectHelp);
} else if (s.equals("INSERT")) {
showHelp(DatabaseManagerCommon.insertHelp);
} else if (s.equals("UPDATE")) {
showHelp(DatabaseManagerCommon.updateHelp);
} else if (s.equals("DELETE")) {
showHelp(DatabaseManagerCommon.deleteHelp);
} else if (s.equals("EXECUTE")) {
executeCurrentSQL();
} else if (s.equals("CREATE TABLE")) {
showHelp(DatabaseManagerCommon.createTableHelp);
} else if (s.equals("DROP TABLE")) {
showHelp(DatabaseManagerCommon.dropTableHelp);
} else if (s.equals("CREATE INDEX")) {
showHelp(DatabaseManagerCommon.createIndexHelp);
} else if (s.equals("DROP INDEX")) {
showHelp(DatabaseManagerCommon.dropIndexHelp);
} else if (s.equals("CHECKPOINT*")) {
try {
cConn.createStatement().executeUpdate("CHECKPOINT");
showHelp(new String[] {
"", "CHECKPOINT executed"
});
} catch (SQLException e) {
CommonSwing.errorMessage(e);
}
} else if (s.equals("SCRIPT")) {
showHelp(DatabaseManagerCommon.scriptHelp);
} else if (s.equals("SHUTDOWN")) {
showHelp(DatabaseManagerCommon.shutdownHelp);
} else if (s.equals("SET")) {
showHelp(DatabaseManagerCommon.setHelp);
} else if (s.equals("Test Script")) {
showHelp(DatabaseManagerCommon.testHelp);
} else if (s.equals(SHOWSCHEMAS_BOX_TEXT)) {
showSchemas = boxShowSchemas.isSelected();
refreshTree();
} else {
throw new RuntimeException("Unexpected action triggered: " + s);
}
}
private void displayResults() {
if (gridFormat) {
setResultsInGrid();
} else {
setResultsInText();
}
}
private void setResultsInGrid() {
pResult.removeAll();
pResult.add(gScrollPane, BorderLayout.CENTER);
pResult.doLayout();
gResult.fireTableChanged(null);
pResult.repaint();
}
private void setResultsInText() {
pResult.removeAll();
pResult.add(txtResultScroll, BorderLayout.CENTER);
pResult.doLayout();
showResultInText();
pResult.repaint();
}
private void showHelp(String[] help) {
txtCommand.setText(help[0]);
bHelp = true;
pResult.removeAll();
pResult.add(txtResultScroll, BorderLayout.CENTER);
pResult.doLayout();
txtResult.setText(help[1]);
pResult.repaint();
txtCommand.requestFocus();
txtCommand.setCaretPosition(help[0].length());
}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent ev) {
stop();
try {
if (cConn != null) {
cConn.close();
}
if (prefs != null) {
prefs.autoRefresh = autoRefresh;
prefs.showRowCounts = displayRowCounts;
prefs.showSysTables = showSys;
prefs.showSchemas = showSchemas;
prefs.resultGrid = gridFormat;
prefs.showTooltips = showTooltips;
prefs.laf = currentLAF;
prefs.store();
}
} catch (Exception e) {
// Added: (weconsultants@users)
CommonSwing.errorMessage(e);
}
if (fMain instanceof java.awt.Window) {
((java.awt.Window) fMain).dispose();
}
if (bMustExit) {
System.exit(0);
}
}
private void clear() {
sqlScriptBuffer = null;
txtCommand.setText("");
txtCommand.setEnabled(true);
}
private String busyText = null;
private void backgroundIt(Runnable r, String description) {
if (busyText != null) {
Toolkit.getDefaultToolkit().beep();
return;
}
// set Waiting mode here. Inverse op must be called by final()
// in the Thread.run() of every background thread.
setWaiting(description);
SwingUtilities.invokeLater(r);
}
private void clearResultPanel() {
gResult.setHead(new Object[0]);
gResult.clear();
if (gridFormat) {
gResult.fireTableChanged(null);
} else {
showResultInText();
}
}
public void setWaiting(String description) {
busyText = description;
if (busyText == null) {
// restore the cursors we saved
if (fMain instanceof java.awt.Frame) {
((java.awt.Frame) fMain).setCursor(fMainCursor);
} else {
((Component) fMain).setCursor(fMainCursor);
}
txtCommand.setCursor(txtCommandCursor);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -