The Java Tutorials have been written for JDK 8.Java教程是为JDK 8编写的。Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.本页中描述的示例和实践没有利用后续版本中引入的改进,并且可能使用不再可用的技术。See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.有关Java SE 9及其后续版本中更新的语言特性的摘要,请参阅Java语言更改。
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.有关所有JDK版本的新功能、增强功能以及已删除或不推荐的选项的信息,请参阅JDK发行说明。
The tree-will-expand listener prevents a tree node from expanding or collapsing. To be notified just after an expansion or collapse occurs, you should use a tree expansion listener instead.
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.
TreeExpandEventDemo2
, featured in this section, is our only example that uses a tree-will-expand listener.