问题描述
在写一个jtree时想在treeExpanded事件中得到被展开的那个节点有什么方法啊,新手求助,谢谢了
解决方案
解决方案二:
。。。。。。急于求答谢谢了
解决方案三:
publicvoidtreeExpanded(TreeExpansionEventevent){DefaultMutableTreeNodenode=(DefaultMutableTreeNode)jTree.getSelectionPath().getLastPathComponent();System.out.println(node);}
解决方案四:
谢谢了
解决方案五:
发觉2楼的方法不行,它只能返回被选中的节点,不能放回被展开的节点
解决方案六:
引用4楼lqqq1234的回复:
发觉2楼的方法不行,它只能返回被选中的节点,不能放回被展开的节点
你要得到所有展开的节点?
解决方案七:
我是这么用的,,privateJTree$tree;privateJScrollPane$treeView;publicSettingsPanel(){setLayout(newBoxLayout(this,BoxLayout.PAGE_AXIS));$vm.addObserver(this);$treeView=newJScrollPane();add($treeView);}publicvoidcreateNodes(){DefaultMutableTreeNodetopNode=newDefaultMutableTreeNode(newNodeInfo(NodeInfo.MODULELIST,"Modules","Modules"));$tree=newJTree(topNode);$tree.addTreeSelectionListener(newTreeSelectionListener());DefaultMutableTreeNodemoduleNode;for(inti=0;i<$data.getActiveModuleList().size();i++){moduleNode=newDefaultMutableTreeNode(newNodeInfo(NodeInfo.MODULE,$data.getActiveModuleIdList().get(i),$data.getActiveModuleIdList().get(i)));topNode.add(moduleNode);}$treeView.setViewportView($tree);this.validate();}
解决方案八:
引用5楼swandragon的回复:
引用4楼lqqq1234的回复:发觉2楼的方法不行,它只能返回被选中的节点,不能放回被展开的节点你要得到所有展开的节点?
不是。。。想把展开的那个节点返回,我听别人说能把焦点放在你展开的节点上,然后再返回,但我也不会写,能帮忙一下吗
解决方案九:
引用4楼lqqq1234的回复:
发觉2楼的方法不行,它只能返回被选中的节点,不能放回被展开的节点
treeExpanded(TreeExpansionEventevent)每当树中的一个项被扩展时调用。你展开的节点不是你当前选择的?
解决方案十:
恩,就是这种情况
解决方案十一:
用小+号展开他好像不改变焦点节点的
解决方案十二:
引用7楼lqqq1234的回复:
引用5楼swandragon的回复:引用4楼lqqq1234的回复:发觉2楼的方法不行,它只能返回被选中的节点,不能放回被展开的节点你要得到所有展开的节点?不是。。。想把展开的那个节点返回,我听别人说能把焦点放在你展开的节点上,然后再返回,但我也不会写,能帮忙一下吗
不明白你的意思
解决方案十三:
就是用那叶柄展开那节点时,把焦点改变为你展开的那个节点,再返回