добавление слушателя действия для узла в дереве - PullRequest
4 голосов
/ 11 августа 2011

Я не могу добавить прослушиватель действий для определенного узла в дереве.Это дерево, которое я построил:

enter image description here

Я хочу зарегистрировать отдельного слушателя для каждого узла.Теперь я зарегистрировал слушателя на JTree.поэтому всякий раз, когда я нажимаю на любую часть tree, метод слушателя начинает свою работу. (то есть теперь у меня есть общий слушатель) Что я хочу, так это когда я нажимаю audio слушатель, зарегистрированный для прослушивания щелчка аудио, должен начать свою работу, и то же самое касается видео. Как я могу это сделать?

Вот как я зарегистрировался:

jTree1.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
        public void valueChanged(javax.swing.event.TreeSelectionEvent evt) {
            jTree1ValueChanged(evt);
        }
    });
public void jTree1ValueChanged( TreeSelectionEvent tse ) {...}

Ответы [ 2 ]

7 голосов
/ 11 августа 2011

Как насчет этого.Или у вас есть специальные PathComponents?

public void jTree1ValueChanged( TreeSelectionEvent tse ) {
     String node = tse.getNewLeadSelectionPath().getLastPathComponent().toString();
    if( node.equals("audio") ) {
        // play audio
    } else if( node.equals("video") ) {
       // play video
    }
}
0 голосов
/ 12 августа 2011

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

...