Читаем 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 () при изменении его размеров и для остановки приложения при закрытии окна.

<p><strong>Событие <emphasis>ComponentEvent</emphasis></strong></p>

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

□ компонент перемещается — идентификатор 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 ().

<p><strong>Событие <emphasis>ContainerEvent</emphasis></strong></p>

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

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

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

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

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

}

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

<p><strong>Ообытие <emphasis>FocusEvent</emphasis></strong></p>

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

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

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

}

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

<p><strong>Событие <emphasis>ItemEvent</emphasis></strong></p>

Данное событие возникает при выборе или отказе от выбора элемента в списке 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 мы уже видели примеры использования этого события.

<p><strong>Событие <emphasis>AdjustmentEvent</emphasis></strong></p>

Это событие возникает для полосы прокрутки 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.

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

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

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