java.lang.Object
java.util.AbstractCollection
java.util.AbstractList
java.util.Vector
org.greenstone.gatherer.util.TreeSynchronizer
- All Implemented Interfaces:
- java.lang.Cloneable, java.util.Collection, java.util.EventListener, java.util.List, java.util.RandomAccess, java.io.Serializable, javax.swing.event.TreeExpansionListener, javax.swing.event.TreeSelectionListener
- public final class TreeSynchronizer
- extends java.util.Vector
- implements javax.swing.event.TreeExpansionListener, javax.swing.event.TreeSelectionListener
My latest diabolical class synchronizes the expansion state of two or more JTrees. Muh-hahahaha. Note that these tree should be based on the same model. If they aren't it won't work. So there.
- Version:
- 2.1
|
Field Summary |
private boolean |
ignore
true if we should temporarily ignore further events, most likely because we know our actions are causing them. |
private java.util.Vector |
selection_listeners
A list of tree selection listeners. |
| Methods inherited from class java.util.Vector |
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize |
ignore
private boolean ignore
- true if we should temporarily ignore further events, most likely because we know our actions are causing them.
selection_listeners
private java.util.Vector selection_listeners
- A list of tree selection listeners.
TreeSynchronizer
public TreeSynchronizer()
add
public void add(javax.swing.JTree tree)
- Add a new tree to the synchronization list of trees to be synchronized.
addTreeSelectionListener
public void addTreeSelectionListener(javax.swing.event.TreeSelectionListener listener)
- We allow the Gatherer to add tree listeners to this class, as it persists between collection changes transparently. Thus there is no need to reattach listeners everytime the collection changes.
treeCollapsed
public void treeCollapsed(javax.swing.event.TreeExpansionEvent event)
- Called whenever an item in the tree has been collapsed.
- Specified by:
treeCollapsed in interface javax.swing.event.TreeExpansionListener
treeExpanded
public void treeExpanded(javax.swing.event.TreeExpansionEvent event)
- Called whenever an item in the tree has been expanded.
- Specified by:
treeExpanded in interface javax.swing.event.TreeExpansionListener
valueChanged
public void valueChanged(javax.swing.event.TreeSelectionEvent event)
- Called whenever the one of the trees selection changes.
- Specified by:
valueChanged in interface javax.swing.event.TreeSelectionListener