Page 151 - 4836
P. 151
Щоб обробити натискання на кнопку, потрібно описати
клас, який реалізує інтерфейс MouseListener, причому метод
mouseClicked( ) повинен містити обробник події. Далі
необхідно створити об'єкт цього класу і зареєструвати його як
слухача цікавлячої нас кнопки. Для реєстрації слухача
використовується метод addMouseListener (MouseListener
listener).
Опишемо клас слухача в межах класу вікна
SimpleWindow, після конструктора. Обробник події
перевірятиме, ввів користувач логін «Іван» (пароль перевіряти
не будемо) і виводити повідомлення про успіх чи неуспіх
входу в систему (робота стандартних діалогових вікон
обговорюється далі в цьому розділі):
class MouseL implements MouseListener {
public void mouseClicked (MouseEvent event ) {
if ( loginField.getText ( ). equals ( "Іван" ))
JOptionPane.showMessageDialog (null, " Вхід
виконаний");
else JOptionPane.showMessageDialog (null, "Вхід НЕ
виконаний");
}
Public void mouseEntered ( MouseEvent event ) {}
public void mouseExited ( MouseEvent event ) {}
public void mousePressed ( MouseEvent event ) { }
public void mouseReleased ( MouseEvent event ) {}}
Ми зробили слухача вкладеним класом класу
SimpleWindow, щоб він міг легко отримати доступ до його
внутрішніх полів loginField і passwordField. Крім того, хоча
реально ми обробляємо тільки одне з п'яти можливих подій
миші, описувати довелося всі п'ять методів (чотири мають
порожню реалізацію). Справа в тому, що в іншому випадку
клас довелося б оголосити абстрактним (адже він успадкував
від інтерфейсу порожні заголовки методів) і ми не змогли б
створити об'єкт цього класу. А ми повинні створити об'єкт
149