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 + -
显示快捷键?