📄 mainwindow.java
字号:
package org.dbgen.view;import java.awt.*;import java.beans.*;import javax.swing.*;import org.dbgen.*;import org.dbgen.action.*;/** * This class was generated by a SmartGuide. * */public class MainWindow extends javax.swing.JFrame implements PropertyChangeListener { Toolbar fieldToolbar = null; WorkbenchTreeView fieldWorkbenchTreeView = null; Workbench fieldWorkbench = null; protected transient java.beans.PropertyChangeSupport propertyChange = new java.beans.PropertyChangeSupport(this); protected transient javax.swing.Action[] actions; ProjectView fieldProjectView = null; org.dbgen.view.TableView fieldTableView = null; JPanel fieldWorkArea = null; String fieldProjectFileName = ""; boolean fieldIsApplet = false; JInternalFrame treeViewFrame = null; JInternalFrame projectFrame = null; JInternalFrame tableFrame = null; protected transient java.awt.event.WindowListener aWindowListener = null; /** * This method was created by a SmartGuide. */ public MainWindow() { super(); initialize(); } /** * The addPropertyChangeListener method was generated to support the propertyChange field. */ public synchronized void addPropertyChangeListener(java.beans.PropertyChangeListener listener) { propertyChange.addPropertyChangeListener(listener); } /** * This method was created by a SmartGuide. * @return org.dbgen.MainWindow * @param comp java.awt.Component */ public static MainWindow findMyself(java.awt.Component comp) { java.awt.Container container = comp.getParent(); while (container != null) { if (container.getClass() == MainWindow.class) { return (MainWindow) container; } container = container.getParent(); } org.dbgen.Debug.println("ERROR: Can't find DbGenPro object from component " + comp); return null; } /** * The firePropertyChange method was generated to support the propertyChange field. */ public void firePropertyChange(String propertyName, Object oldValue, Object newValue) { if (propertyChange != null) propertyChange.firePropertyChange(propertyName, oldValue, newValue); } /** * Gets the isApplet property (boolean) value. * @return The isApplet property value. * @see #setIsApplet */ public boolean getIsApplet() { /* Returns the isApplet property value. */ return fieldIsApplet; } /** * Gets the projectFileName property (java.lang.String) value. * @return The projectFileName property value. * @see #setProjectFileName */ public String getProjectFileName() { /* Returns the projectFileName property value. */ if (fieldProjectFileName == null) { try { fieldProjectFileName = new String(); } catch (Throwable exception) { System.err.println("Exception creating projectFileName property."); } }; return fieldProjectFileName; } /** * Gets the projectView property (org.dbgen.view.ProjectView) value. * @return The projectView property value. */ public ProjectView getProjectView() { /* Returns the projectView property value. */ if (fieldProjectView == null) { try { fieldProjectView = new ProjectView(); } catch (Throwable exception) { System.err.println("Exception creating projectView property."); } }; return fieldProjectView; } /** * Gets the tableView property (org.dbgen.view.TableView) value. * @return The tableView property value. */ public org.dbgen.view.TableView getTableView() { /* Returns the tableView property value. */ if (fieldTableView == null) { try { fieldTableView = new org.dbgen.view.TableView(); } catch (Throwable exception) { System.err.println("Exception creating tableView property."); } }; return fieldTableView; } /** * Gets the toolbar property (org.dbgen.Toolbar) value. * @return The toolbar property value. */ public Toolbar getToolbar() { /* Returns the toolbar property value. */ if (fieldToolbar == null) { try { fieldToolbar = new Toolbar(); } catch (Throwable exception) { System.err.println("Exception creating toolbar property."); } }; return fieldToolbar; } /** * Gets the workArea property (javax.swing.JPanel) value. * @return The workArea property value. */ public JPanel getWorkArea() { /* Returns the workArea property value. */ if (fieldWorkArea == null) { try { fieldWorkArea = new JPanel(); } catch (Throwable exception) { System.err.println("Exception creating workArea property."); } }; return fieldWorkArea; } /** * Gets the workbench property (org.dbgen.Workbench) value. * @return The workbench property value. * @see #setWorkbench */ public Workbench getWorkbench() { /* Returns the workbench property value. */ if (fieldWorkbench == null) { try { fieldWorkbench = new Workbench(); } catch (Throwable exception) { System.err.println("Exception creating workbench property."); } }; return fieldWorkbench; } /** * Gets the workbenchTreeView property (org.dbgen.WorkbenchTreeView) value. * @return The workbenchTreeView property value. */ public WorkbenchTreeView getWorkbenchTreeView() { /* Returns the workbenchTreeView property value. */ if (fieldWorkbenchTreeView == null) { try { fieldWorkbenchTreeView = new WorkbenchTreeView(); } catch (Throwable exception) { System.err.println("Exception creating workbenchTreeView property."); } }; return fieldWorkbenchTreeView; } /** * Show main window and its internal frames. */ public void show() { super.show(); treeViewFrame.show(); projectFrame.show(); tableFrame.show(); } /** * This method was created by a SmartGuide. */ public void initialize() { setJMenuBar(new Menubar()); java.awt.Container panel = getContentPane(); panel.setLayout(new java.awt.BorderLayout()); panel.add(BorderLayout.NORTH, getToolbar()); JDesktopPane desktop = new JDesktopPane(); UIManager.put("Tree.leafIcon", new ImageIcon( (new Table_e16x16()).getImage() )); WorkbenchTreeView treeView = getWorkbenchTreeView(); JScrollPane scrollPane = new JScrollPane(); scrollPane.getViewport().add(treeView); /* Internal Frame */ treeViewFrame = new JInternalFrame("Workbench", true, false, true, true); treeViewFrame.getContentPane().add(scrollPane); //treeViewFrame.pack(); treeViewFrame.setBounds(0, 0, 200, 450); desktop.add(treeViewFrame, new Integer(1)); //JPanel workArea = getWorkArea(); ProjectView view2 = getProjectView(); TableView view3 = getTableView(); //workArea.setLayout(new CardLayout()); //workArea.add("ProjectView", view2); //workArea.add("TableView", view3); /* Internal Frame */ projectFrame = new JInternalFrame("Project Settings", true, false, true, true); projectFrame.getContentPane().add(view2); //projectFrame.pack(); projectFrame.setBounds(200, 0, 450, 150); desktop.add(projectFrame, new Integer(1)); tableFrame = new JInternalFrame("Table Definition", true, false, true, true); tableFrame.getContentPane().add(view3); //tableFrame.pack(); tableFrame.setBounds(200, 150, 450, 300); desktop.add(tableFrame, new Integer(1)); //JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, view1, workArea); //JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scrollPane, workArea); //panel.add(BorderLayout.CENTER, splitPane); panel.add(BorderLayout.CENTER, new JScrollPane(desktop)); /* * How does this window look? */ setTitle(DbGen.NAME); setBounds(0, 0, 680, 550); /* * Listen to window closing event. */ addWindowListener(new MainWindowListener()); /* * Listen to tree selections events - for selecting * projects/tables, so that we can delegate the change * in ProjectView and TableView. */ treeView.addPropertyChangeListener(this); /* * For applet (demo), disable save function. */ if (getIsApplet()) { ActionHolder.setEnabled(ActionHolder.SAVE_DATA, false); } return; } /** * This method was created by a SmartGuide. * @param event java.beans.PropertyChangeEvent */ public void propertyChange(PropertyChangeEvent event) { if (event.getSource().getClass() == WorkbenchTreeView.class) { if ("selectedProject".equals(event.getPropertyName())) { getProjectView().setProject(getWorkbenchTreeView().getSelectedProject()); getProjectView().setVisible(true); getProjectView().getParent().validate(); getTableView().setVisible(false); ActionHolder.setEnabled(ActionHolder.ADD_TABLE, true); ActionHolder.setEnabled(ActionHolder.DELETE_TABLE, false); ActionHolder.setEnabled(ActionHolder.DELETE_PROJECT, true); ActionHolder.setEnabled(ActionHolder.CHECK_PROJECT, true); ActionHolder.setEnabled(ActionHolder.IMPORT_TABLES, true); //CardLayout layout = (CardLayout) getWorkArea().getLayout(); //layout.show(getWorkArea(), "ProjectView"); } else if ("selectedTable".equals(event.getPropertyName())) { getTableView().setTable(getWorkbenchTreeView().getSelectedTable()); getTableView().setVisible(true); getTableView().getParent().validate(); ActionHolder.setEnabled(ActionHolder.DELETE_TABLE, true); ActionHolder.setEnabled(ActionHolder.DELETE_PROJECT, false); ActionHolder.setEnabled(ActionHolder.CHECK_PROJECT, true); ActionHolder.setEnabled(ActionHolder.IMPORT_TABLES, true); //CardLayout layout = (CardLayout) getWorkArea().getLayout(); //layout.show(getWorkArea(), "TableView"); } else if ("message".equals(event.getPropertyName())) { if ("emptyWorkbench".equals(event.getNewValue())) { getProjectView().setVisible(false); ActionHolder.setEnabled(ActionHolder.CHECK_PROJECT, false); ActionHolder.setEnabled(ActionHolder.DELETE_PROJECT, false); ActionHolder.setEnabled(ActionHolder.DELETE_TABLE, false); ActionHolder.setEnabled(ActionHolder.IMPORT_TABLES, false); } } } return; } /** * The removePropertyChangeListener method was generated to support the propertyChange field. */ public synchronized void removePropertyChangeListener(java.beans.PropertyChangeListener listener) { propertyChange.removePropertyChangeListener(listener); } /** * Sets the isApplet property (boolean) value. * @param isApplet The new value for the property. * @see #getIsApplet */ public void setIsApplet(boolean isApplet) { fieldIsApplet = isApplet; return; } /** * Sets the projectFileName property (java.lang.String) value. * @param projectFileName The new value for the property. * @see #getProjectFileName */ public void setProjectFileName(String projectFileName) { /* Get the old property value for fire property change event. */ String oldValue = fieldProjectFileName; /* Set the projectFileName property (attribute) to the new value. */ fieldProjectFileName = projectFileName; /* Fire (signal/notify) the projectFileName property change event. */ firePropertyChange("projectFileName", oldValue, projectFileName); return; } /** * Sets the workbench property (org.dbgen.Workbench) value. * @param workbench The new value for the property. * @see #getWorkbench */ public void setWorkbench(Workbench workbench) { /* Get the old property value for fire property change event. */ Workbench oldValue = fieldWorkbench; /* Set the workbench property (attribute) to the new value. */ fieldWorkbench = workbench; /* Fire (signal/notify) the workbench property change event. */ firePropertyChange("workbench", oldValue, workbench); /* Affect WorkbenchTreeView */ getWorkbenchTreeView().setWorkbench(workbench); /* * Set visibility of project and table views based on whether there * is any data. */ int numProjects = workbench.getProjects().size(); if (numProjects == 0) { getProjectView().setVisible(false); getTableView().setVisible(false); } else if (numProjects == 1) { getTableView().setVisible(false); } return; } /** * This method was created by a SmartGuide. */ public void showTips() { if (getWorkbench().getProjects().size() == 0) { JOptionPane.showMessageDialog(DbGenPro.mainWindow, "A new projects.dat file has been created.\nTo get started, click on the Add Project button.", "Welcome Message", JOptionPane.INFORMATION_MESSAGE); } return; } /** * This method was created by a SmartGuide. * @param args java.lang.String[] */ public static void test(String args[]) { MainWindow pro = new MainWindow(); pro.setWorkbench(Workbench.getTestWorkbench()); pro.pack(); pro.setVisible(true); return; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -