如何编写树模型监听器
原文: https://docs.oracle.com/javase/tutorial/uiswing/events/treemodellistener.html
通过实现树模型监听器,您可以检测树显示的数据何时发生更改。您可以使用树模型监听器来检测用户何时编辑树节点。所有通知都描述了相对于树中节点的更改。有关详细信息,请阅读动态更改树。
TreeModelListener没有适配器类。
| 方法 | 目的 |
|---|---|
| treeNodesChanged(TreeModelEvent) | 当一个或多个兄弟节点以某种方式发生变化时调用。 |
| treeNodesInserted(TreeModelEvent) | 在将节点插入树中后调用。 |
| treeNodesRemoved(TreeModelEvent) | 从树中删除节点后调用。 |
| treeStructureChanged(TreeModelEvent) | 在树的结构从当前节点向下彻底改变之后调用。此事件适用于连接到此节点的所有节点。 |
| 方法 | 目的 |
|---|---|
| 对象 getSource() |
(java.util.EventObject中的*)_ | 返回触发事件的对象。 |
| int [] getChildIndices() | 对于treeNodesChanged,treeNodesInserted和treeNodesRemoved,分别返回已更改,已插入或已删除节点的索引。返回对treeStructureChanged没有用的东西。 |
| Object [] getChildren() | 返回与子索引对应的对象。 |
| Object [] getPath() | 返回已更改,已插入或已删除节点的父节点的路径。对于treeStructureChanged,返回结构已更改的节点的路径。 |
| TreePath getTreePath() | 返回与getPath相同的内容,但返回 TreePath 对象。 |
下表列出了使用树扩展监听器的示例。
| 例 | 在哪里描述 | 笔记 |
|---|---|---|
DynamicTreeDemo |
如何使用树木 | DynamicTree类实现树模型监听器,以检测用户何时编辑了节点的数据。 |
