This demo adds a tree-will-expand listener
to the TreeExpandEventDemo
example
discussed in How to
Write a Tree Expansion Listener. The code added here
demonstrates that tree-will-expand listeners prevent node expansions and collapses: The listener will prompt you for confirmation each time you try to expand a node.
treeWillCollapse
method
lets the collapse occur, uncontested.
The following snippet shows the code
that this program adds to TreeExpandEventDemo
.
The bold line prevents the tree expansion from happening.
You can find all the demo's source code in
TreeExpandEventDemo2.java
.
public class TreeExpandEventDemo2 ... { ... class DemoArea ... implements ... TreeWillExpandListener { ... public DemoArea() { ... tree.addTreeWillExpandListener(this); ... } ... //Required by TreeWillExpandListener interface. public void treeWillExpand(TreeExpansionEvent e) throws ExpandVetoException { saySomething("Tree-will-expand event detected", e); //...show a dialog... if (/* user said to cancel the expansion */) { //Cancel expansion. saySomething("Tree expansion cancelled", e); throw new ExpandVetoException(e); } } //Required by TreeWillExpandListener interface. public void treeWillCollapse(TreeExpansionEvent e) { saySomething("Tree-will-collapse event detected", e); } ... } }
The TreeWillExpandListener Interface
TreeWillExpandListener
has no adapter class.
Method | Purpose |
---|---|
treeWillCollapse(TreeExpansionEvent) | Called just before a tree node collapses.
To prevent the collapse from occurring,
your implementation of this method should throw a
ExpandVetoException event.
|
treeWillExpand(TreeExpansionEvent) | Called just before a tree node expands.
To prevent the expansion from occurring,
your implementation of this method should throw a
ExpandVetoException event.
|
See The Tree Expansion
Event API
for information about the
TreeExpansionEvent
argument for the preceding methods.
Examples that Use Tree-Will-Expand Listeners
TreeExpandEventDemo2
,
featured in this section,
is our only example that uses a tree-will-expand listener.