Смещение фокуса с одного узла JTree на другой - PullRequest
2 голосов
/ 24 сентября 2011

Мне нужно сместить фокус с узла 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: 0035, когда пользователь нажимает на GO: 0001.

Я пытался добавитьTreeSelectionListener (), но он не работает в моем Eclipse.Я думал, что мог бы установить цикл чтения каждой проверки, если есть соответствующий, если есть соответствующий, то получить его путь, добавить mouseListener к G0: 0001 и установить PP к GO: 0035.Я новичок в Java, поэтому я не совсем уверен, как это сделать.Пожалуйста, помогите!(

1 Ответ

2 голосов
/ 25 сентября 2011

Непонятно, как вы строите свои JTree или TreeModel, но вы можете найти примеров в Как использовать деревья . Если вы используете DefaultTreeModel, вы можете выполнять поиск по узлу, возвращенному методом модели getRoot(), и вы можете создать TreePath для этот узел назначения. Используйте метод дерева setSelectionPath() для выбора найденного узла.

Если у вас все еще есть проблемы, отредактируйте ваш вопрос, указав sscce , который показывает ваше использование.

...