在写一个jtree时想在treeExpanded事件中得到被展开的那个节点有什么方法啊,新手求助,谢谢了

解决方案 »

  1.   


    public void treeExpanded(TreeExpansionEvent event){
    DefaultMutableTreeNode node = (DefaultMutableTreeNode)jTree.getSelectionPath().getLastPathComponent(); 
    System.out.println(node);
    }
      

  2.   

    我是这么用的,,
            private JTree $tree;
    private JScrollPane $treeView;
    public SettingsPanel(){
    setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
    $vm.addObserver(this);
    $treeView = new JScrollPane();
    add($treeView);
    }
    public void createNodes(){
    DefaultMutableTreeNode topNode = new DefaultMutableTreeNode(new
    NodeInfo(NodeInfo.MODULELIST,"Modules", "Modules")); $tree = new JTree(topNode);
    $tree.addTreeSelectionListener(new TreeSelectionListener());
    DefaultMutableTreeNode moduleNode;
    for(int i = 0; i < $data.getActiveModuleList().size(); i++){
    moduleNode = new DefaultMutableTreeNode(new NodeInfo(NodeInfo.MODULE, $data.getActiveModuleIdList().get(i), $data.getActiveModuleIdList().get(i)));
    topNode.add(moduleNode);
    }

    $treeView.setViewportView($tree);
    this.validate();
    }
      

  3.   

    treeExpanded(TreeExpansionEvent event) 
              每当树中的一个项被扩展时调用。你展开的节点不是你当前选择的?