2015-06-25 5 views
3

у меня есть JTree (к примеру):JTree не смог получить индекс конкретного узла

-paper 
    -coated 
    -glossy 
     -hummermill 
     -quatro 
     -springhill 
    -matte 

, когда я выбираю SPRINGHILL я получить индекс 5, но я не хочу считать от корня (бумаг) (который включает в себя родители и другие узлы за пределами глянца), я хочу начать подсчет с hummermill, поэтому я пытаюсь получить индекс 2.

i использовал tree.getLeadSelectionRow() и получил значение int 5; также я использую node.getIndex(node), но здесь я не получаю ничего нормального (0,3, -1). Я пробую все варианты всех методов, которые есть для узла и дерева, и не нахожу ничего полезного. Помогите!

ответ

4

Вы должны найти индекс узла от родительского

DefaultMutableTreeNode node=(DefaultMutableTreeNode) jTree1.getSelectionPath().getLastPathComponent(); 

    System.out.println(node.getParent().getIndex(node)); 
+0

спасибо! это делает для меня именно то, что я хочу! –

 Смежные вопросы

  • Нет связанных вопросов^_^