Spec-Zone .ru
спецификации, руководства, описания, API
След: Создание GUI С JFC/Swing
Урок: Пишущие Слушатели События
Раздел: Реализующие Слушатели для Обычно Обрабатываемых Событий
Как Записать Древовидному Слушателю Выбора
Домашняя страница > Создание GUI С JFC/Swing > Пишущие Слушатели События

Как Записать Древовидному Слушателю Выбора

Чтобы обнаружить, когда пользователь выбирает узел в дереве, Вы должны зарегистрировать древовидного слушателя выбора. Вот пример, взятый от TreeDemo пример, обсужденный в Отвечании на Выбор Узла, обнаружения выбора узла в дереве, у которого может быть самое большее один узел, выбранный за один раз:

tree.addTreeSelectionListener(new TreeSelectionListener() {
    public void valueChanged(TreeSelectionEvent e) {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode)
                           tree.getLastSelectedPathComponent();

    /* if nothing is selected */ 
        if (node == null) return;

    /* retrieve the node that was selected */ 
        Object nodeInfo = node.getUserObject();
        ...
    /* React to the node selection. */
        ...
    }
});

Чтобы определить, что дерево должно поддерживать единственный выбор, программа использует этот код:

tree.getSelectionModel().setSelectionMode
        (TreeSelectionModel.SINGLE_TREE_SELECTION);

TreeSelectionModel интерфейс определяет три значения для режима выбора:

DISCONTIGUOUS_TREE_SELECTION
Это - режим по умолчанию для модели выбора дерева значения по умолчанию. С этим режимом может быть выбрана любая комбинация узлов.
SINGLE_TREE_SELECTION
Это - режим, используемый предыдущим примером. Самое большее один узел может быть выбран за один раз.
CONTIGUOUS_TREE_SELECTION
С этим режимом только могут быть выбраны узлы в смежных строках.

Древовидный API Слушателя Выбора

Интерфейс TreeSelectionListener

Поскольку TreeSelectionListener имеет только один метод, у него нет никакого соответствующего адаптера class.

Метод Цель
valueChanged (TreeSelectionEvent) Вызванный всякий раз, когда выбор изменяется.

API TreeSelectionEvent

Метод Цель
Возразите getSource ()
(в java.util.EventObject)
Возвратите объект, который запустил событие.
TreePath getNewLeadSelectionPath () Возвратите текущий ведущий путь.
TreePath getOldLeadSelectionPath () Возвратите путь, который был ранее ведущим путем.
TreePath getPath () Возвратите первый элемент пути.
TreePath [] getPaths () Возвратите пути, которые были добавлены или удалены из выбора.
булев isAddedPath () Возвратите true, если первый элемент пути был добавлен к выбору. Возвращает false, если первый путь был удален из выбора.
булев isAddedPath (интервал) Возвратите true, если путь, определенный индексированием, был добавлен к выбору.
булев isAddedPath (TreePath) Возвратите true, если указанный путь был добавлен к выбору.
Возразите getLastSelectedPathComponent () Возвратите последний компонент пути в первом узле текущего выбора.
TreePath getLeadSelectionPath ()
(в JTree)
Возвратите текущий ведущий путь.

Примеры, что Слушатели Выбора Дерева Использования

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

Пример Где Описано Примечания
TreeDemo
Как Использовать Деревья Древовидный слушатель отвечает на щелчки узла, показывая соответствующий документ HTML.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Как Записать Древовидному Слушателю Модели
Следующая страница: Как Записать, что Слушатель "дерево Расширится"