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

Как Записать, что Слушатель "дерево Расширится"

Слушатель "дерево расширится", препятствует тому, чтобы древовидный узел расширился или вышел из строя. Быть уведомленным сразу после расширения или коллапса происходит, следует использовать древовидного слушателя расширения вместо этого.

 

Этот демонстрационный пример добавляет, что слушатель "дерево расширится" до TreeExpandEventDemo пример, обсужденный в том, Как Записать Древовидному Слушателю Расширения. Код, добавленный здесь, демонстрирует, что слушатели "дерево расширятся", предотвращают расширения узла и коллапсы: слушатель запросит Вас подтверждение каждый раз, когда Вы пытаетесь развернуть узел.

TreeExpandEventDemo2.html

Попробуйте это: 
  1. Нажмите кнопку Launch, чтобы работать, TreeExpandEventDemo2, используя Сеть Java™ Запускаются (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.Запускает пример TreeExpandEventDemo2
  2. Щелкните по графике налево от узла Выступа Potrero. Это говорит дереву, что Вы хотите развернуть узел.
    Диалоговое окно кажется спрашивающим Вас, хотите ли Вы действительно развернуть узел.
  3. Щелкните по "Expand" или отклоните диалоговое окно.
    Сообщения в текстовой области говорят Вам, что и событие "дерево расширится" и расширенное до дерева событие, произошли. В конце каждого сообщения путь к расширенному узлу.
  4. Попытайтесь развернуть другой узел, но на сей раз нажать кнопку "Cancel Expansion" в диалоговом окне.
    Узел не расширяется. Сообщения в текстовой области говорят Вам, что событие "дерево расширится", произошел, и что Вы отменяли древовидное расширение.
  5. Сверните узел Выступа Potrero.
    Узел выходит из строя без диалогового появления, потому что обработчик событий treeWillCollapse метод позволяет коллапсу происходить, неоспоримый.

Следующий отрывок показывает код, что эта программа добавляет к TreeExpandEventDemo. Полужирная строка предотвращает древовидное расширение. Можно найти исходный код всего демонстрационного примера в TreeExpandEventDemo2.java.

public class TreeExpandEventDemo2 ... {
    ...
    class DemoArea ... implements ... TreeWillExpandListener {
        ...
        public DemoArea() {
            ...
            tree.addTreeWillExpandListener(this);
            ...
        }
        ...
        //Required by TreeWillExpandListener interface.
        public void treeWillExpand(TreeExpansionEvent e) 
                    throws ExpandVetoException {
            saySomething("Tree-will-expand event detected", e);
            //...show a dialog...
            if (/* user said to cancel the expansion */) {
                //Cancel expansion.
                saySomething("Tree expansion cancelled", e);
                throw new ExpandVetoException(e);
            }
        }

        //Required by TreeWillExpandListener interface.
        public void treeWillCollapse(TreeExpansionEvent e) {
            saySomething("Tree-will-collapse event detected", e);
        }
        ...
    }
}

Дерево "API Слушателя Расширится"

Интерфейс TreeWillExpandListener

TreeWillExpandListener не имеет никакого адаптера class.

Метод Цель
treeWillCollapse (TreeExpansionEvent) Вызванный непосредственно перед тем, как древовидный узел выходит из строя. Чтобы препятствовать тому, чтобы коллапс произошел, Ваша реализация этого метода должна бросить a ExpandVetoException событие.
treeWillExpand (TreeExpansionEvent) Вызванный непосредственно перед тем, как древовидный узел расширяется. Чтобы препятствовать тому, чтобы расширение произошло, Ваша реализация этого метода должна бросить a ExpandVetoException событие.

См. Древовидный API События Расширения для информации о TreeExpansionEvent параметр за предыдущие методы.

Примеры, которые дерево "Слушателей Использования Развернет"

TreeExpandEventDemo2, обладавший в этом разделе, наш единственный пример, который использует слушателя "дерево, расширится".


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

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



Spec-Zone.ru - all specs in one place