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

Как Записать Контейнерному Слушателю

Контейнерные события запускаются a Container сразу после того, как компонент добавляется к или удаляется из контейнера. Эти события для уведомления только — никакой контейнерный слушатель не должен присутствовать для компонентов, которые будут успешно добавлены или удалены.

Следующий пример демонстрирует контейнерные события. Щелкая по Add кнопка или Удаляет кнопку, можно добавить кнопки к или удалить их из панели у основания окна. Каждый раз, когда кнопка добавляется к или удаляется из панели, панель запускает контейнерное событие, и контейнерный слушатель панели уведомляется. Слушатель выводит на экран дескриптивные сообщения в текстовой области наверху окна.

Снимок экрана, который демонстрирует контейнерные события

Попробуйте это: 
  1. Нажмите кнопку Launch, чтобы работать, ContainerEventDemo, используя Сеть Java™ Запускаются (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.Запускает пример ContainerEventDemo
  2. Нажмите маркированную кнопку, Добавляет кнопка.
    Вы будете видеть, что кнопка появляется около нижней части окна. Контейнерный слушатель реагирует на получающееся добавленное к компоненту событие, выводя на экран "JButton #1, был добавлен к javax.swing. JPanel" наверху окна.
  3. Нажмите маркированную кнопку, Удаляют кнопку.
    Это удаляет последний раз добавленную кнопку из панели, заставляя контейнерного слушателя получить удаленное из компонента событие.

Можно найти код демонстрационного примера в ContainerEventDemo.java. Вот контейнерный код обработки событий демонстрационного примера:

public class ContainerEventDemo ... implements ContainerListener ... {
    ...//where initialization occurs:
        buttonPanel = new JPanel(new GridLayout(1,1));
        buttonPanel.addContainerListener(this);
    ...
    public void componentAdded(ContainerEvent e) {
        displayMessage(" added to ", e);
    }

    public void componentRemoved(ContainerEvent e) {
        displayMessage(" removed from ", e);
    }

    void displayMessage(String action, ContainerEvent e) {
        display.append(((JButton)e.getChild()).getText()
                       + " was"
                       + action
                       + e.getContainer().getClass().getName()
                       + newline);
    }
    ...
}

Контейнерный API Слушателя

Интерфейс ContainerListener

Соответствующий адаптер class ContainerAdapter.

Метод Цель
componentAdded (ContainerEvent) Вызванный сразу после того, как компонент добавляется к слушаемому контейнер.
componentRemoved (ContainerEvent) Вызванный сразу после того, как компонент удаляется из слушаемого контейнер.

Класс ContainerEvent

Метод Цель
Компонент getChild () Возвращает компонент чье дополнение или удаление, инициированное это событие.
Контейнер getContainer () Возвращает контейнер, который запустил это событие. Можно использовать это вместо getSource метод.

Примеры тот Контейнер Использования Слушатели

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

Пример Где Описано Примечания
ContainerEventDemo Этот раздел Отчеты все контейнерные события, которые происходят на единственной панели, чтобы демонстрировать обстоятельства, при которых запускаются контейнерные события.

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

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