Java 如何捕获JTree节点扩展事件
我在SWING JTree中寻找一种类似SWT的方法 TreeNode.addListener(SWT.Expand,new Listener()。。。 我设法检查最后一个选定的节点以找到选定的节点,但如何才能找到已展开的节点并以正确的方式处理它?使用(有趣的名称)Java 如何捕获JTree节点扩展事件,java,swing,listener,jtree,expand,Java,Swing,Listener,Jtree,Expand,我在SWING JTree中寻找一种类似SWT的方法 TreeNode.addListener(SWT.Expand,new Listener()。。。 我设法检查最后一个选定的节点以找到选定的节点,但如何才能找到已展开的节点并以正确的方式处理它?使用(有趣的名称)TreeWireExpandListener TreeWillExpandListener treeWillExpandListener = new TreeWillExpandListener() { public vo
TreeWireExpandListener
TreeWillExpandListener treeWillExpandListener = new TreeWillExpandListener() {
public void treeWillCollapse(TreeExpansionEvent treeExpansionEvent)
throws ExpandVetoException {
TreePath path = treeExpansionEvent.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
//Print the name of the node if toString() was implemented
String data = node.getUserObject().toString();
System.out.println("WillCollapse: " + data);
}
public void treeWillExpand(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
TreePath path = treeExpansionEvent.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
//print the name of the node if toString was implemented
String data = node.getUserObject().toString();
System.out.println("WillExpand: " + data);
}
};
tree.addTreeWillExpandListener(treeWillExpandListener);
谢谢,我得到了缺少的部分,即使在标准的expand listener中也是有用的。它是TreePath对象以及getLastPathComponent()方法,给出了最后一个组件,在这里起作用。