View Javadoc

1   package org.astrogrid.ui;
2   
3   import java.util.Enumeration;
4   import java.util.Vector;
5   import javax.swing.event.TreeModelEvent;
6   import javax.swing.event.TreeModelListener;
7   
8   /*** Taken from the java intro to using trees.  Includes support for listeners
9    * and all the fire methods you could shake a stick at */
10  
11  public class TreeModelSupport {
12     private Vector vector = new Vector();
13  
14     public void addTreeModelListener( TreeModelListener listener ) {
15        if ( listener != null && !vector.contains( listener ) ) {
16           vector.addElement( listener );
17        }
18     }
19  
20     public void removeTreeModelListener( TreeModelListener listener ) {
21        if ( listener != null ) {
22           vector.removeElement( listener );
23        }
24     }
25  
26     public void fireTreeNodesChanged( TreeModelEvent e ) {
27        Enumeration listeners = vector.elements();
28        while ( listeners.hasMoreElements() ) {
29           TreeModelListener listener = (TreeModelListener)listeners.nextElement();
30           listener.treeNodesChanged( e );
31        }
32     }
33  
34     public void fireTreeNodesInserted( TreeModelEvent e ) {
35        Enumeration listeners = vector.elements();
36        while ( listeners.hasMoreElements() ) {
37           TreeModelListener listener = (TreeModelListener)listeners.nextElement();
38           listener.treeNodesInserted( e );
39        }
40     }
41  
42     public void fireTreeNodesRemoved( TreeModelEvent e ) {
43        Enumeration listeners = vector.elements();
44        while ( listeners.hasMoreElements() ) {
45           TreeModelListener listener = (TreeModelListener)listeners.nextElement();
46           listener.treeNodesRemoved( e );
47        }
48     }
49  
50     public void fireTreeStructureChanged( TreeModelEvent e ) {
51        Enumeration listeners = vector.elements();
52        while ( listeners.hasMoreElements() ) {
53           TreeModelListener listener = (TreeModelListener)listeners.nextElement();
54           listener.treeStructureChanged( e );
55        }
56     }
57  }