如何编写树扩展侦听器
有时在使用tree时,您可能需要在分支变得展开或折叠时做出反应。例如,您可能需要加载或保存数据。
两种侦听器报告扩展和崩溃的发生:* tree 扩展侦听器和 tree-will-expand 侦听器。本页讨论 tree 扩展*侦听器。请参阅如何编写一个树状扩展侦听器以获取 Tree-Will-Expand 侦听器的描述。
树扩展侦听器检测何时已发生扩展或崩溃。通常,除非不需要防止发生扩展或崩溃,否则应实现树扩展侦听器。
此示例演示了一个简单的树扩展侦听器。每次发生树扩展事件时,窗口底部的文本区域都会显示一条消息。这是一个简单明了的演示。要查看可以否决扩展的更有趣的版本,请参见如何编写一个树状扩展侦听器。
Try this:
-
单击启动按钮以使用Java™Web 开始(下载 JDK 7 或更高版本)运行 TreeExpandEventDemo。另外,要自己编译和运行示例,请查阅example index。
-
展开一个节点。引发树扩展事件。
-
折叠节点。发生树折叠事件。
以下代码显示了程序如何处理扩展事件。您可以在TreeExpandEventDemo.java中找到此示例的源代码。
public class TreeExpandEventDemo ... {
...
void saySomething(String eventDescription, TreeExpansionEvent e) {
textArea.append(eventDescription + "; "
+ "path = " + e.getPath()
+ newline);
}
class DemoArea ... implements TreeExpansionListener {
...
public DemoArea() {
...
tree.addTreeExpansionListener(this);
...
}
...
// Required by TreeExpansionListener interface.
public void treeExpanded(TreeExpansionEvent e) {
saySomething("Tree-expanded event detected", e);
}
// Required by TreeExpansionListener interface.
public void treeCollapsed(TreeExpansionEvent e) {
saySomething("Tree-collapsed event detected", e);
}
}
}
树扩展侦听器 API
TreeExpansionListener interface
TreeExpansionListener
没有适配器类.*
Method | Purpose |
---|---|
treeCollapsed(TreeExpansionEvent) | 在树节点崩溃之后调用。 |
treeExpanded(TreeExpansionEvent) | 在树节点扩展之后调用。 |
Method | Purpose |
---|---|
Object getSource() | 返回引发事件的对象。 |
TreePath getPath() | 返回一个TreePath对象,该对象标识从树的根到折叠/展开节点(包括端点)的每个节点。 |
使用树扩展侦听器的示例
下表列出了使用树扩展侦听器的示例。
Example | Where Described | Notes |
---|---|---|
TreeExpandEventDemo | This section | 每当发生树扩展事件时显示一条消息。 |
TreeExpandEventDemo2 | 如何编写一个树状扩展侦听器 | 向TreeExpandEventDemo 添加一个树状扩展侦听器。 |