Читаем Java 7 полностью

□ окно развернулось — идентификатор window_deiconified;

□ всякое изменение состояния окна — window_state_changed;

□ окно стало первым — window_first;

□ окно стало последним — window_last.

Соответствующий интерфейс содержит семь методов:

public interface WindowListener extends EventListener { public void windowOpened(WindowEvent e); public void windowClosing(WindowEvent e); public void windowClosed(WindowEvent e); public void windowIconified(WindowEvent e); public void windowDeiconified(WindowEvent e); public void windowActivated(WindowEvent e); public void windowDeactivated(WindowEvent e);

}

Аргумент e этих методов дает ссылку типа Window на окно-источник методом

e.getWindow().

Чаще всего эти события используются для перерисовки окна методом repaint () при изменении его размеров и для остановки приложения при закрытии окна.

Событие ComponentEvent


Данное событие происходит в компоненте по четырем причинам:

□ компонент перемещается — идентификатор component_moved;

□ компонент меняет размер — идентификатор component_resized;

□ компонент убран с экрана — идентификатор component_hidden;

□ компонент появился на экране — идентификатор ccmponent_shcwn.

Соответствующий интерфейс содержит описания четырех методов:

public interface ComponentListener extends EventListener{ public void componentMoved(ComponentEvent e); public void componentResized(ComponentEvent e); public void componentHidden(ComponentEvent e); public void componentShown(ComponentEvent e);

}

Аргумент e методов этого интерфейса предоставляет ссылку на компонент-источник

события методом e.getComponent ().

Событие ContainerEvent


Данное событие происходит по двум причинам:

□ в контейнер добавлен компонент — идентификатор component_added;

□ из контейнера удален компонент — идентификатор component_removed.

Этим причинам соответствуют методы интерфейса:

public interface ContainerListener extends EventListener{ public void componentAdded(ContainerEvent e); public void componentRemoved(ContainerEvent e);

}

Аргумент e предоставляет ссылку на компонент, чье добавление или удаление из контейнера вызвало событие, методом e.getChild( ) и ссылку на контейнер — источник события методом e. getContainer (). Обычно при наступлении данного события контейнер перемещает свои компоненты.

Ообытие FocusEvent


Событие возникает в компоненте, когда он получает фокус ввода — идентификатор focus_gained — или теряет фокус — идентификатор FOCUS_LOST.

Соответствующий интерфейс:

public interface FocusListener extends EventListener{ public void focusGained(FocusEvent e); public void focusLost(FocusEvent e);

}

Обычно при потере фокуса компонент перечерчивается бледным цветом, для этого применяется метод brighter( ) класса Color, при получении фокуса становится ярче, что достигается применением метода darker (). Это приходится делать самостоятельно при создании своего компонента.

Событие ItemEvent


Данное событие возникает при выборе или отказе от выбора элемента в списке List, Choice, JComboBox, или кнопки выбора Checkbox, а также в кнопках Swing, наследующих от класса AbstractButton, и отмечается идентификатором ITEM_STATE_CHANGED.

Соответствующий интерфейс очень прост:

public interface ItemListener extends EventListener{ void itemStateChanged(ItemEvent e);

}

Аргумент e предоставляет ссылку на источник методом e.getItemSelectable(), ссылку на выбранный пункт методом e.getItem( ) в виде Object.

Метод e.getStateChange () позволяет уточнить, что произошло: значение selected указывает на то, что элемент был выбран, значение deselected — произошел отказ от выбора.

В главе 10 мы уже видели примеры использования этого события.

Событие AdjustmentEvent


Это событие возникает для полосы прокрутки Scrollbar или JScrollBar при всяком изменении ее бегунка и отмечается идентификатором adjustment_value_changed.

Соответствующий интерфейс описывает один метод:

public interface AdjustmentListener extends EventListener{ public void adjustmentValueChanged(AdjustmentEvent e);

}

Аргумент e этого метода предоставляет ссылку на источник события методом e. getAdj ustable (), текущее значение положения движка полосы прокрутки методом e.getValue ( ) и способ изменения его значения методом e.getAdjustmentType(), возвращающим следующие значения:

□ unit_increment — увеличение на одну единицу;

□ unit_decrement — уменьшение на одну единицу;

□ block_increment — увеличение на один блок;

□ block_decrement — уменьшение на один блок;

□ track — процесс передвижения бегунка полосы прокрутки.

"Оживим" программу создания цвета, приведенную в листинге 10.4, добавив необходимые действия. Результат этого представлен в листинге 15.6.

Листинг 15.6. Программа создания цвета

import java.awt.*; import java.awt.event.*;

class ScrollTest1 extends Frame{ private Scrollbar

sbRed = new Scrollbar(Scrollbar.VERTICAL, 127, 16, 0, 271), sbGreen = new Scrollbar(Scrollbar.VERTICAL, 127, 16, 0, 271), sbBlue = new Scrollbar(Scrollbar.VERTICAL, 127, 16, 0, 271);

Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных