📄 workbenchtreeview.java
字号:
package org.dbgen.view;import javax.swing.*;import javax.swing.tree.*;import javax.swing.event.*;import java.util.*;import java.beans.*;import org.dbgen.*;import org.dbgen.event.*;/** * This class was generated by a SmartGuide. * */public class WorkbenchTreeView extends JTree implements java.beans.PropertyChangeListener, ProjectChangedListener, TableChangedListener, TreeSelectionListener, Scrollable { Workbench fieldWorkbench = null; public DefaultMutableTreeNode root; ProjectSelectionModel fieldProjectSelectionModel = null; protected transient Vector aProjectSelectionListener = null; Table fieldSelectedTable = null; Project fieldSelectedProject = null; // selection levels public final static int NOTHING_SELECTED = 0; public final static int ROOT_SELECTED = 1; public final static int PROJECT_SELECTED = 2; public final static int TABLE_SELECTED = 3; boolean fieldAutoSelectTable = false; String fieldMessage = ""; /** * WorkbenchTreeView constructor comment. */ public WorkbenchTreeView() { super(); initialize(); } /** * WorkbenchTreeView constructor comment. * @param arg1 java.lang.Object[] */ public WorkbenchTreeView(java.lang.Object[] arg1) { super(arg1); initialize(); } /** * This method was created by a SmartGuide. */ protected void createTree() { root = new DefaultMutableTreeNode(getWorkbench()); Vector projects = getWorkbench().getProjects(); Project project; Table table; for (int i = 0; i < projects.size(); i++) { project = (Project) projects.elementAt(i); ProjectTreeNode projectNode = new ProjectTreeNode(project); root.add(projectNode); /* listen to table add/delete event and project property changes. */ project.addTableChangedListener(this); project.addPropertyChangeListener(this); Vector tables = project.getTables(); for (int j = 0; j < tables.size(); j++) { table = (Table) tables.elementAt(j); TableTreeNode tableNode = new TableTreeNode(table); projectNode.add(tableNode); table.addPropertyChangeListener(this); } } setRootVisible(false); setModel(new DefaultTreeModel(root)); setSelectionInterval(0, 0); if (projects.size() == 1) { expandRow(0); } return; } /** * This method was created by a SmartGuide. * @return org.dbgen.ProjectTreeNode */ public ProjectTreeNode findSelectedProjectNode() { TreePath path = getSelectionPath(); if (path != null) { ProjectTreeNode node = (ProjectTreeNode) path.getPathComponent(1); return node; } return null; } /** * This method was created by a SmartGuide. * @return org.dbgen.TableTreeNode */ protected TableTreeNode findSelectedTableNode() { TreePath path = getSelectionPath(); if (path != null) { TableTreeNode node = (TableTreeNode) path.getPathComponent(2); return node; } return null; } /** * Gets the autoSelectTable property (boolean) value. * @return The autoSelectTable property value. * @see #setAutoSelectTable */ public boolean getAutoSelectTable() { /* Returns the autoSelectTable property value. */ return fieldAutoSelectTable; } /** * Gets the message property (java.lang.String) value. * @return The message property value. * @see #setMessage */ public String getMessage() { /* Returns the message property value. */ if (fieldMessage == null) { try { fieldMessage = new String(); } catch (Throwable exception) { System.err.println("Exception creating message property."); } }; return fieldMessage; } /** * This method was created by a SmartGuide. * @return java.awt.Dimension */ public java.awt.Dimension getMinimumSize() { return new java.awt.Dimension(150, 200); } /** * Gets the selectedProject property (org.dbgen.Project) value. * @return The selectedProject property value. * @see #setSelectedProject */ public Project getSelectedProject() { /* Returns the selectedProject property value. */ if (fieldSelectedProject == null) { try { fieldSelectedProject = new Project(); } catch (Throwable exception) { System.err.println("Exception creating selectedProject property."); } }; return fieldSelectedProject; } /** * Gets the selectedTable property (org.dbgen.Table) value. * @return The selectedTable property value. * @see #setSelectedTable */ public Table getSelectedTable() { /* Returns the selectedTable property value. */ if (fieldSelectedTable == null) { try { fieldSelectedTable = new Table(); } catch (Throwable exception) { System.err.println("Exception creating selectedTable property."); } }; return fieldSelectedTable; } /** * This method was created by a SmartGuide. * @return int */ public int getSelectionLevel() { TreePath path = getSelectionPath(); if (path == null) { return -1; } else { return path.getPathCount(); } } /** * 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; } /** * This method was created by a SmartGuide. */ public void initialize() { setAutoSelectTable(true); addTreeSelectionListener(this); setCellRenderer( new TreeViewRenderer() ); return; } /** * This method was created by a SmartGuide. * @param event org.dbgen.ProjectAddedEvent */ public void projectAdded(ProjectAddedEvent event) { org.dbgen.Debug.println("WorkbenchTreeView.projectAdded() - " + event.getProject()); Project project = event.getProject(); ProjectTreeNode newNode = new ProjectTreeNode(project); int index = Util.findObjectFromVector(project, getWorkbench().getProjects()); root.insert(newNode, index); /* Add table change listener */ project.addTableChangedListener(this); project.addPropertyChangeListener(this); /* Refresh the tree */ DefaultTreeModel tm = (DefaultTreeModel) getModel(); tm.nodesWereInserted(root, new int[] { index }); //reload(root); /* Set selected project to this new one */ //getProjectSelectionModel().setSelectedProject(event.getProject()); selectProject(newNode); return; } /** * This method was created by a SmartGuide. * @param event org.dbgen.ProjectDeletedEvent */ public void projectDeleted(ProjectDeletedEvent event) { org.dbgen.Debug.println("WorkbenchTreeView.projectDeleted() - " + event.getProject()); ProjectTreeNode projectNode = findSelectedProjectNode(); ProjectTreeNode nextNode = (ProjectTreeNode) projectNode.getNextSibling(); int index = root.getIndex(projectNode); int count = root.getChildCount(); int newIndex = (index == count-1) ? index-1 : index; /* Remove the project node */ root.remove(projectNode); /* Notify Jtree about the removal */ DefaultTreeModel tm = (DefaultTreeModel) getModel(); tm.nodesWereRemoved(root, new int[] { index }, new Object[] { event.getProject() });
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -