1 19 package org.netbeans.modules.j2ee.ejbcore.ui.logicalview.entres; 20 21 import java.awt.BorderLayout ; 22 import java.beans.PropertyChangeEvent ; 23 import java.beans.PropertyChangeListener ; 24 import java.beans.PropertyChangeSupport ; 25 import javax.swing.JPanel ; 26 import org.openide.explorer.ExplorerManager; 27 import org.openide.explorer.view.BeanTreeView; 28 import org.openide.nodes.Node; 29 30 31 35 public class NodeDisplayPanel extends JPanel implements ExplorerManager.Provider { 36 private final PropertyChangeSupport pcs = new PropertyChangeSupport (this); 37 private final ExplorerManager manager = new ExplorerManager(); 38 39 40 public NodeDisplayPanel(Node rootNode) { 41 BeanTreeView btv = new BeanTreeView(); 42 btv.setRootVisible(false); 43 btv.setDefaultActionAllowed(false); 44 manager.setRootContext(rootNode); 45 Node[] rootChildren = rootNode.getChildren().getNodes(); 46 for (int i = 0; i < rootChildren.length; i++) { 47 btv.expandNode(rootChildren[i]); 48 } 49 manager.addPropertyChangeListener( 50 new PropertyChangeListener () { 51 public void propertyChange(PropertyChangeEvent pce) { 52 firePropertyChange(); 53 } 54 }); 55 setLayout(new BorderLayout ()); 56 add(btv, BorderLayout.CENTER); 57 btv.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(NodeDisplayPanel.class, "ACSD_NodeTreeView")); 58 btv.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(NodeDisplayPanel.class, "ACSD_NodeTreeView")); 59 } 60 61 public void addPropertyChangeListener(PropertyChangeListener listener) { 62 pcs.addPropertyChangeListener(listener); 63 } 64 65 private void firePropertyChange() { 66 pcs.firePropertyChange(ExplorerManager.PROP_NODE_CHANGE, null, null); 67 } 68 69 public Node[] getSelectedNodes() { 70 return manager.getSelectedNodes(); 71 } 72 73 public ExplorerManager getExplorerManager() { 74 return manager; 75 } 76 77 78 79 } 80 | Popular Tags |