Слушатель WindowListener может быть привязан только к окну и оповещается о различных событиях, произошедших с окном:
public void windowOpened(WindowEvent event) — окнооткрылось.
public voidwindowClosing(WindowEventevent) — попытка закрытия окна (например, пользователя нажал на крестик). Слово «попытка» означает, что данный метод вызовется до того, как окно будет закрыто и может воспрепятствовать этому (например, вывести диалог типа «Вы уверены?» и отменить закрытие окна, если пользователь выберет «Нет»).
public void windowClosed(WindowEvent event) — окнозакрылось.
public void windowIconified(WindowEvent event) — окносвернуто.
public void windowDeiconified(WindowEvent event) — окноразвернуто.
public void windowActivated(WindowEvent event) — окносталоактивным.
public void windowDeactivated(WindowEvent event) — окносталонеактивным.
Слушатель событий компонента СomponentListener
Слушатель ComponentListener оповещается, когда наблюдаемый визуальный компонент изменяет свое положение, размеры или видимость. В интерфейсе четыре метода:
public voidcomponentMoved(ComponentEventevent) — вызывается, когда наблюдаемый компонент перемещается (в результате вызова команды setLocation(), работы менеджера размещения или еще по какой-то причине).
public voidcomponentResized(ComponentEventevent) — вызывается, когда изменяются размеры наблюдаемого компонента.
public voidcomponentHidden(ComponentEventevent) — вызывается, когда компонент становится невидимым.
public voidcomponentShown(ComponentEventevent) — вызывается, когда компонент становится видимым.
Слушатель выбора элемента ItemListener
Слушатель ItemListener реагирует на изменение состояния одного из элементов, входящих в состав наблюдаемого компонента. Например, выпадающий список JComboBox состоит из множества элементов и слушатель реагирует, когда изменяется выбранный элемент. Также данный слушатель оповещается при выборе либо отмене выбора флажка JCheckBox или переключателя JRadioButton, изменении состояния кнопки JToggleButton и т.д. Слушатель обладает одним методом:
public void itemStateChanged(ItemEvent event).
Универсальный слушатель ActionListener
Среди многочисленных событий, на которые реагирует каждый элемент управления (и о которых он оповещает соответствующих слушателей, если они к нему присоединены), есть одно основное, вытекающее из самой сути компонента и обрабатываемое значительно чаще, чем другие. Например, для кнопки это щелчок на ней, а для выпадающего списка — выбор нового элемента.
Для отслеживания и обработки такого события может быть использован особый слушатель ActionListener, имеющий один метод:
public void actionPerformed(ActionEvent event).
У использования ActionListener есть небольшое преимущество в эффективности (так, при обработке нажатия на кнопку не надо реагировать на четыре лишних события — ведь даже если методы-обработчики пустые, на вызов этих методов все равно тратятся ресурсы). А кроме того очень удобно запомнить и постоянно использовать один класс с одним методам и обращаться к остальным лишь в тех относительно редких случаях, когда возникнет такая необходимость.
Обработка нажатия на кнопку okлегко переписывается для ActionListener:
| ok.addMouseListener(new ActionListener() { public void actionPerformed(ActionEvent event) { if (loginField.getText().equals("Иван")) JOptionPane.showMessageDialog(null, "Входвыполнен"); elseJOptionPane.showMessageDialog(null, "ВходНЕвыполнен"); } }); |
ВАРИАНТЫ ЗАДАНИЙ
1. Реализуйте игру-угадайку, которая имеет одно текстовое поле и одну кнопку. Он предложит пользователю угадать число между 0-20 и дает ему три попытки. Если ему не удастся угадать, то будет выведено сообщение, что пользователь допустил ошибку в угадывнии и что число меньше / больше. Если пользователь попытался три раза угадать, то программу завершается с соответствующим сообщением. Если пользовательугадал, то программа должна тоже завершаться с соответствующим сообщением.
2. Реализация приложения Java, который имеет макет границы и надписи для каждой области в макете. Теперь определим события мыши, чтобы описать действия:
a. Когда мышь входит CENTER программа показывает диалоговое окно
(Добро пожаловать в)
b. Когда мышь входит WEST программа показывает диалоговое окно
(Добро пожаловать в Джидда)
c. Когда мышь входит SOUTH программа показывает диалоговое окно
(Добро пожаловать Абха)
d. Когда мышь входит в NORTH программа показывает диалоговое окно (Добро пожаловать в)
e. Когда мышь входит EAST программа показывает диалоговое окно
(Добро пожаловать в Дахране)
3. Реализация программу на Java с JTextArea и двумя меню:
Цвет: который имеет возможность выбора из три возможных: синий, красный и черный
Шрифт: тривида: “TimesNewRoman”, “MSSansSerif”, “CourierNew”.Вы должны написать прогамму, которая с помощью меню, может изменять шрифт и цвет текста, написанного в JTextArea
ЛАБОРАТОРНАЯ РАБОТА №7






