将焦点从一个JTree节点转移到另一个节点

时间:2011-09-24 17:30:29

标签: java xml swing jtree mouselistener

我需要将焦点从JTree节点转移到被点击的上一个节点上的另一个节点。

示例XML文档:

<br/>
<'obo'><br/>
<'term'><br/>
<'id'>GO:0001<'/id'><br/>
<'name'>candida... '<'/name'><br/>
<'dbname'>' blah blah '<'/dbname'><br/>
<'is_a'>'GO:0035'<'/is_a'><br/>
<'/term'><br/>
<'term'><br/>
<'id'>'GO:0035'<'/id'><br/>
<'name'>'candida... '<'/name'><br/>
<'dbname'>' blah blah '<'/dbname'><br/>
<'is_a'>'GO:00465'<'/is_a'><br/>
<'/term'><br/>
<'/obo'><br/>

我把它变成了一个JTree。现在,当用户点击GO:0001时,我需要将焦点转移到GO:0035。

我正在尝试addTreeSelectionListener(),但它在我的Eclipse中不起作用。我想我可以设置一个循环读取每个检查是否有相应的,如果有相应的然后得到它的路径,将mouseListener添加到G0:0001并将setPath添加到GO:0035。 我是Java的新手,所以我不太清楚如何做到这一点。请帮忙!! :(

1 个答案:

答案 0 :(得分:2)

目前尚不清楚如何构建JTreeTreeModel,但您可以在examples中找到How to Use Trees。如果使用DefaultTreeModel,则可以从模型的getRoot()方法返回的节点进行搜索,并且可以为该目标节点构造TreePath。使用树的setSelectionPath()方法选择找到的节点。

如果您仍然遇到问题,请修改您的问题以提供显示您使用情况的sscce