workbench.java
来自「数据仓库展示程序」· Java 代码 · 共 700 行 · 第 1/2 页
JAVA
700 行
editMenu.add(cutMenuItem);
copyMenuItem.setText("Copy");
editMenu.add(copyMenuItem);
pasteMenuItem.setText("Paste");
editMenu.add(pasteMenuItem);
deleteMenuItem.setText("Delete");
editMenu.add(deleteMenuItem);
menuBar.add(editMenu);
setJMenuBar(menuBar);
pack();
}
private void newJDBCExplorerMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
JInternalFrame jf = new JInternalFrame();
jf.setTitle("JDBC Explorer - " + this.jdbcConnectionUrl);
Class.forName(this.jdbcDriverClassName);
java.sql.Connection con = java.sql.DriverManager.getConnection(this.jdbcConnectionUrl);
JDBCExplorer jdbce = new JDBCExplorer(con);
jf.getContentPane().add(jdbce);
jf.setBounds(0, 0, 500, 480);
jf.setClosable(true);
jf.setIconifiable(true);
jf.setMaximizable(true);
jf.setResizable(true);
jf.setVisible(true);
desktopPane.add(jf);
jf.show();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
private void toolbarPreferencesButtonActionPerformed(java.awt.event.ActionEvent evt)
{
PreferencesDialog pd = new PreferencesDialog(this, true);
pd.setJDBCConnectionUrl(jdbcConnectionUrl);
pd.setJDBCDriverClassName(jdbcDriverClassName);
pd.show();
if (pd.accepted())
{
jdbcConnectionUrl = pd.getJDBCConnectionUrl();
jdbcDriverClassName = pd.getJDBCDriverClassName();
workbenchProperties.setProperty("jdbcDriverClassName", jdbcDriverClassName);
workbenchProperties.setProperty("jdbcConnectionUrl", jdbcConnectionUrl);
}
}
private void newQueryMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
JInternalFrame jf = new JInternalFrame();
jf.setTitle("MDX Query");
QueryPanel qp = new QueryPanel();
qp.setConnection(connection);
jf.getContentPane().add(qp);
jf.setBounds(0, 0, 500, 480);
jf.setClosable(true);
jf.setIconifiable(true);
jf.setMaximizable(true);
jf.setResizable(true);
jf.setVisible(true);
desktopPane.add(jf);
jf.show();
}
private void saveAsMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
JInternalFrame jf = desktopPane.getSelectedFrame();
if (jf.getContentPane().getComponent(0) instanceof SchemaExplorer)
{
SchemaExplorer se = (SchemaExplorer) jf.getContentPane().getComponent(0);
java.io.File schemaFile = se.getSchemaFile();
MondrianDef.Schema schema = se.getSchema();
JFileChooser jfc = new JFileChooser();
MondrianProperties.instance();
jfc.setSelectedFile(schemaFile);
if (jfc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
{
try
{
schemaFile = jfc.getSelectedFile();
XMLOutput out = new XMLOutput(new java.io.FileWriter(jfc.getSelectedFile()));
schema.displayXML(out);
se.setSchemaFile(schemaFile);
jf.setTitle("Schema - " + schemaFile.getName());
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
}
private void saveMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
JInternalFrame jf = desktopPane.getSelectedFrame();
if (jf.getContentPane().getComponent(0) instanceof SchemaExplorer)
{
SchemaExplorer se = (SchemaExplorer) jf.getContentPane().getComponent(0);
java.io.File schemaFile = se.getSchemaFile();
MondrianDef.Schema schema = se.getSchema();
MondrianProperties.instance();
try
{
XMLOutput out = new XMLOutput(new FileWriter(schemaFile));
schema.displayXML(out);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
/**
* Set last used in properties file
*
* @param name
* @param url
*/
private void setLastUsed(String name, String url)
{
if (workbenchProperties.getProperty(LAST_USED3) != null)
{
workbenchProperties.setProperty(LAST_USED4, workbenchProperties.getProperty(LAST_USED3));
workbenchProperties.setProperty(LAST_USED4_URL, workbenchProperties.getProperty(LAST_USED3_URL));
}
if (workbenchProperties.getProperty(LAST_USED2) != null)
{
workbenchProperties.setProperty(LAST_USED3, workbenchProperties.getProperty(LAST_USED2));
workbenchProperties.setProperty(LAST_USED3_URL, workbenchProperties.getProperty(LAST_USED2_URL));
}
if (workbenchProperties.getProperty(LAST_USED1) != null)
{
workbenchProperties.setProperty(LAST_USED2, workbenchProperties.getProperty(LAST_USED1));
workbenchProperties.setProperty(LAST_USED2_URL, workbenchProperties.getProperty(LAST_USED1_URL));
}
workbenchProperties.setProperty(LAST_USED1, name);
workbenchProperties.setProperty(LAST_USED1_URL, url);
updateLastUsedMenu();
}
private void updateLastUsedMenu()
{
if (workbenchProperties.getProperty(LAST_USED1) == null)
jSeparator2.setVisible(false);
else
jSeparator2.setVisible(true);
if (workbenchProperties.getProperty(LAST_USED1) != null)
lastUsed1MenuItem.setVisible(true);
else
lastUsed1MenuItem.setVisible(false);
if (workbenchProperties.getProperty(LAST_USED2) != null)
lastUsed2MenuItem.setVisible(true);
else
lastUsed2MenuItem.setVisible(false);
if (workbenchProperties.getProperty(LAST_USED3) != null)
lastUsed3MenuItem.setVisible(true);
else
lastUsed3MenuItem.setVisible(false);
if (workbenchProperties.getProperty(LAST_USED4) != null)
lastUsed4MenuItem.setVisible(true);
else
lastUsed4MenuItem.setVisible(false);
lastUsed1MenuItem.setText(workbenchProperties.getProperty(LAST_USED1));
lastUsed2MenuItem.setText(workbenchProperties.getProperty(LAST_USED2));
lastUsed3MenuItem.setText(workbenchProperties.getProperty(LAST_USED3));
lastUsed4MenuItem.setText(workbenchProperties.getProperty(LAST_USED4));
}
private void lastUsed1MenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
openSchemaFrame(new File(new URI(workbenchProperties.getProperty(LAST_USED1_URL))));
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
}
private void lastUsed2MenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
openSchemaFrame(new File(new URI(workbenchProperties.getProperty(LAST_USED2_URL))));
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
}
private void lastUsed3MenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
openSchemaFrame(new File(new URI(workbenchProperties.getProperty(LAST_USED3_URL))));
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
}
private void lastUsed4MenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
openSchemaFrame(new File(new URI(workbenchProperties.getProperty(LAST_USED4_URL))));
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
}
private void openSchemaFrame(File file)
{
try
{
JInternalFrame schemaFrame = new JInternalFrame();
schemaFrame.setTitle("Schema - " + file.getName());
Class.forName(jdbcDriverClassName);
String connectString = "Provider=mondrian;" + "Jdbc=" + jdbcConnectionUrl + ";" + "Catalog=" + file.toURL().toString();
connection = DriverManager.getConnection(connectString, null, false);
schemaFrame.getContentPane().add(new SchemaExplorer(file));
schemaFrame.setBounds(0, 0, 500, 480);
schemaFrame.setClosable(true);
schemaFrame.setIconifiable(true);
schemaFrame.setMaximizable(true);
schemaFrame.setResizable(true);
schemaFrame.setVisible(true);
desktopPane.add(schemaFrame, javax.swing.JLayeredPane.DEFAULT_LAYER);
schemaFrame.show();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
private void openMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
JFileChooser jfc = new JFileChooser();
MondrianProperties.instance();
if (jfc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
{
try
{
setLastUsed(jfc.getSelectedFile().getName(), jfc.getSelectedFile().toURL().toString());
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
openSchemaFrame(jfc.getSelectedFile());
}
}
private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt)
{
storeWorkbenchProperties();
System.exit(0);
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt)
{
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
Workbench w = new Workbench();
w.setSize(800, 600);
w.show();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton toolbarSaveAsButton;
private javax.swing.JMenuItem openMenuItem;
private javax.swing.JMenuItem lastUsed1MenuItem;
private javax.swing.JMenuItem lastUsed2MenuItem;
private javax.swing.JMenuItem lastUsed3MenuItem;
private javax.swing.JMenuItem lastUsed4MenuItem;
private javax.swing.JMenu fileMenu;
private javax.swing.JMenuItem newQueryMenuItem;
private javax.swing.JPanel jPanel1;
private javax.swing.JButton toolbarOpenButton;
private javax.swing.JButton toolbarNewButton;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JMenuItem cutMenuItem;
private javax.swing.JMenuBar menuBar;
private javax.swing.JMenuItem saveMenuItem;
private javax.swing.JMenuItem newJDBCExplorerMenuItem;
private javax.swing.JCheckBoxMenuItem viewCubesMenuItem;
private javax.swing.JButton toolbarSaveButton;
private javax.swing.JMenuItem copyMenuItem;
private javax.swing.JDesktopPane desktopPane;
private javax.swing.JMenu viewMenu;
private javax.swing.JMenu newMenu;
private javax.swing.JMenuItem deleteMenuItem;
private javax.swing.JMenuItem newSchemaMenuItem;
private javax.swing.JMenuItem exitMenuItem;
private javax.swing.JButton toolbarPreferencesButton;
private javax.swing.JCheckBoxMenuItem viewMeasuresMenuItem;
private javax.swing.JMenu editMenu;
private javax.swing.JMenuItem pasteMenuItem;
private javax.swing.JCheckBoxMenuItem viewDimensionsMenuItem;
private javax.swing.JMenuItem saveAsMenuItem;
private javax.swing.JToolBar jToolBar1;
// End of variables declaration
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?