Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何捕获JTree节点扩展事件_Java_Swing_Listener_Jtree_Expand - Fatal编程技术网

Java 如何捕获JTree节点扩展事件

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

我在SWING JTree中寻找一种类似SWT的方法 TreeNode.addListener(SWT.Expand,new Listener()。。。 我设法检查最后一个选定的节点以找到选定的节点,但如何才能找到已展开的节点并以正确的方式处理它?

使用(有趣的名称)
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()方法,给出了最后一个组件,在这里起作用。