ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.11.2023
Просмотров: 168
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
getKeyCode()
getKeyLocation()
выводят соответственно значение символа, кода символа и положение клавиши на клавиатуре (его можно сравнить с одной из приведенных выше переменных класса).
Методы
public static String getKeyText(int keyCode)
public static String getKeyModifiersText(int modifiers)
возвращают соответственно строку, описывающую клавишу, например, "HOME", "F1" или "A".и текст, описывающий клавишу-модификатор, например, "Shift" или "Ctrl+Shift".
Метод
public boolean isActionKey()
проверяет, не является ли клавиша, вызвавшая событие клавишей «действия» (обычно клавиши «действия» – это клавиши, которые не являются клавишами символов или клавишами модификаторов, например, клавиша Esc).
Методы
public void setKeyChar(char keyChar)
public void setKeyCode(int keyCode)
public void setModifiers(int modifiers)
позволяет установить соответственно значение символа, кода и клавиши-модификатора.
Кроме указанных свойств и методов, класс KeyEvent наследует все свойства и методы класса InputEvent.
Интерфейс KeyListener содержит объявления следующих методов:
Класс MouseEvent обрабатывает события клавиатуры и содержит следующие статические
final переменные типа int:
Методы класса
public int getButton()
public int getClickCount()
позволяют определить соответственно, какая кнопка была нажата и количество щелчков кнопки.
Методы
public Point getPoint()
public int getX()
public int getY()
определяет точку экрана, в которой произошло событие мыши или отдельно координаты x и y точки.
Метод
public boolean isPopupTrigger()
позволяет определить, является ли событие мыши событием вызова контекстного («всплывающего») меню (для Windows это нажатие правой кнопки мыши).
Метод
public static String getMouseModifiersText(int modifiers)
возвращает строку, идентифицирующую клавишу-модификатор (например, "Shift"), если она была нажата одновременно с кнопкой мыши.
Метод
public void translatePoint(int x, int y)
переводит точку координаты точки на экране, в которой произошло событие мыши, в новую позицию с горизонтальным смещением
x и вертикальным смещением y.
Кроме указанных свойств и методов, класс MouseEvent наследует все свойства и методы класса InputEvent.
В интерфейсе MouseListener объявлены следующие методы:
Интерфейс MouseMotionListener содержит объявления следующих методов:
Класс MouseWheelEvent обрабатывает события, связанные с вращением колесика мыши. Две статические final переменные типа int:
WHEEL_UNIT_SCROLL
WHEEL_BLOCK_SCROLL
представляют прокручивание колесика в «единицах» (как перемещение с помощью клавишей стрелок) и в «блоках» (как перемещение с помощью клавиш PageUp и PageDown).
Методы класса
public int getScrollType()
public int getScrollAmount()
public int getWheelRotation()
public int getUnitsToScroll()
позволяют получить соответственно тип вращения (равный одной из приведенных выше констант); количество «единиц», которое необходимо прокрутить в ответ на это событие; количество «щелчков», прокрученных колесиком мыши (отрицательное, если прокручивание вверх и положительное, если вниз) и количество «единиц» прокрутки (зависит от компьютерной платформы).
Интерфейс MouseWheelListener объявляет метод
public void mouseWheelMoved(MouseWheelEvent e)
для обработки события вращения колесика мыши.
Для классов JButton, JList и JTextField определен блок прослушивания ActionListener с единственным методом
public void actionPerformed(ActionEvent e),
вызываемым, когда происходит действие для заданного объекта класса Button, List или TextField.
Класс ActionEvent обрабатывает события, связанные с нажатием кнопки, выбором элемента из списка или с нажатием клавиши Enter в текстовом поле.
Для класса ActionEvent определены следующие статические final переменные типа int:
Методы
public String getActionCommand()
public int getModifiers()
public long getWhen()
public String paramString()
позволяют получить соответственно командную строку, связанную с данным действием; ключ-модификатор для данного действия; время счетчика (в миллисекундах) для данного действия и строку параметра, идентифицирующего данное действие (обычно используется для отладки).
Для классов JComboBox, JCheckbox, JRadioButton и JList определен блок прослушивания ItemListener с единственным методом
public void itemStateChanged(ItemEvent e),
вызываемым, когда происходит выбор или отмена выбора элементов в объектах класса Choice, Checkbox или List.
Класс ItemEvent содержит переменные и методы для обработки события, связанные с выбором элемента или отменой выбора элемента.
Для класса ItemEvent
определены следующие статические final переменные типа int:
Методы
public Object getItem()
public int getStateChange()
public String paramString()
позволяют получить соответственно элемент, вызвавший событие; изменение состояния элемента (выбран или не выбран) и строку параметра, идентифицирующего выбор элемента (обычно используется для отладки).
Метод
public ItemSelectable getItemSelectable()
возвращает объект интерфейса ItemSelectable. Этот интерфейс предназначен для объектов, в которых допустим выбор одного или более элементов и содержит объявления методов
public void addItemListener(ItemListener l)
public void removeItemListener(ItemListener l)
для добавления и удаления блоков прослушивания выбора или отмены выбора элементов из списка, а также метод
public Object[] getSelectedObjects(),
который должен возвращать массив выбранных объектов или null, если не выбрано ни одного объекта.
Чтобы блок прослушивания мог фиксировать и обрабатывать события он должен быть включен с помощью методов добавления блоков прослушивания в класс (эти методы определены в классе Component).
Методы включения блоков прослушивания имеют следующий общий формат:
public void addXXXX (XXXX l)
Где XXXX – имя соответствующего блока прослушивания, например включение в класс блока прослушивания для событий клавиатуры реализуется с помощью метода
public void addKeyListener (KeyListener l).
Таким образом, для обработки события в каком либо классе необходимо:
getKeyLocation()
выводят соответственно значение символа, кода символа и положение клавиши на клавиатуре (его можно сравнить с одной из приведенных выше переменных класса).
Методы
public static String getKeyText(int keyCode)
public static String getKeyModifiersText(int modifiers)
возвращают соответственно строку, описывающую клавишу, например, "HOME", "F1" или "A".и текст, описывающий клавишу-модификатор, например, "Shift" или "Ctrl+Shift".
Метод
public boolean isActionKey()
проверяет, не является ли клавиша, вызвавшая событие клавишей «действия» (обычно клавиши «действия» – это клавиши, которые не являются клавишами символов или клавишами модификаторов, например, клавиша Esc).
Методы
public void setKeyChar(char keyChar)
public void setKeyCode(int keyCode)
public void setModifiers(int modifiers)
позволяет установить соответственно значение символа, кода и клавиши-модификатора.
Кроме указанных свойств и методов, класс KeyEvent наследует все свойства и методы класса InputEvent.
Интерфейс KeyListener содержит объявления следующих методов:
-
public void keyTyped(KeyEvent e) – обработка события ввода символа; -
public void keyPressed(KeyEvent e) – обработка события нажатия клавиши; -
public void keyReleased(KeyEvent e) – обработка события отпускания клавиши.
3.3.2.7. Класс MouseEvent и интерфейсы MouseListener и MouseMotionListener
Класс MouseEvent обрабатывает события клавиатуры и содержит следующие статические
final переменные типа int:
-
MOUSE_PRESSED – нажатие кнопки мыши; -
MOUSE_RELEASED – отпускание кнопки мыши; -
MOUSE_CLICKED – щелчок кнопкой мыши; -
MOUSE_MOVED – перемещение мыши; -
MOUSE_DRAGGED – перемещение мыши с нажатой кнопкой; -
MOUSE_ENTERED – появление курсора мыши в компоненте; -
MOUSE_EXITED – выход курсора мыши из компонента; -
BUTTON1, BUTTON2 и BUTTON3 – первая, вторая и третья кнопки мыши; -
MOUSE_WHEEL – вращение колесика мыши; -
NOBUTTON – кнопка мыши не использовалась во время события; -
MOUSE_FIRST – первый номер в списке идентификаторов, используемых для событий мыши; -
MOUSE_LAST – последний номер в списке идентификаторов, используемых для событий мыши.
Методы класса
public int getButton()
public int getClickCount()
позволяют определить соответственно, какая кнопка была нажата и количество щелчков кнопки.
Методы
public Point getPoint()
public int getX()
public int getY()
определяет точку экрана, в которой произошло событие мыши или отдельно координаты x и y точки.
Метод
public boolean isPopupTrigger()
позволяет определить, является ли событие мыши событием вызова контекстного («всплывающего») меню (для Windows это нажатие правой кнопки мыши).
Метод
public static String getMouseModifiersText(int modifiers)
возвращает строку, идентифицирующую клавишу-модификатор (например, "Shift"), если она была нажата одновременно с кнопкой мыши.
Метод
public void translatePoint(int x, int y)
переводит точку координаты точки на экране, в которой произошло событие мыши, в новую позицию с горизонтальным смещением
x и вертикальным смещением y.
Кроме указанных свойств и методов, класс MouseEvent наследует все свойства и методы класса InputEvent.
В интерфейсе MouseListener объявлены следующие методы:
-
public void mouseClicked(MouseEvent e) – обработка события щелчка мыши; -
public void mousePressed(MouseEvent e) – обработка события нажатия кнопки мыши; -
public void mouseReleased(MouseEvent e) – обработка события отпускания кнопки мыши; -
public void mouseEntered(MouseEvent e) – обработка события входа курсора мыши в компонент; -
public void mouseExited(MouseEvent e) – обработка события выхода курсора мыши из компонента.
Интерфейс MouseMotionListener содержит объявления следующих методов:
-
public void mouseDragged(MouseEvent e) – обработка события перемещения мыши при нажатой кнопке; -
public void mouseMoved(MouseEvent e) – обработка события перемещения мыши (при не нажатой кнопке мыши).
3.3.2.8. Класс MouseWheelEvent и интерфейс MouseWheelListener
Класс MouseWheelEvent обрабатывает события, связанные с вращением колесика мыши. Две статические final переменные типа int:
WHEEL_UNIT_SCROLL
WHEEL_BLOCK_SCROLL
представляют прокручивание колесика в «единицах» (как перемещение с помощью клавишей стрелок) и в «блоках» (как перемещение с помощью клавиш PageUp и PageDown).
Методы класса
public int getScrollType()
public int getScrollAmount()
public int getWheelRotation()
public int getUnitsToScroll()
позволяют получить соответственно тип вращения (равный одной из приведенных выше констант); количество «единиц», которое необходимо прокрутить в ответ на это событие; количество «щелчков», прокрученных колесиком мыши (отрицательное, если прокручивание вверх и положительное, если вниз) и количество «единиц» прокрутки (зависит от компьютерной платформы).
Интерфейс MouseWheelListener объявляет метод
public void mouseWheelMoved(MouseWheelEvent e)
для обработки события вращения колесика мыши.
3.3.3. Классы и интерфейсы обработки высокоуровневых событий
3.3.3.1. Интерфейс ActionListener и класс ActionEvent
Для классов JButton, JList и JTextField определен блок прослушивания ActionListener с единственным методом
public void actionPerformed(ActionEvent e),
вызываемым, когда происходит действие для заданного объекта класса Button, List или TextField.
Класс ActionEvent обрабатывает события, связанные с нажатием кнопки, выбором элемента из списка или с нажатием клавиши Enter в текстовом поле.
Для класса ActionEvent определены следующие статические final переменные типа int:
-
ACTION_PERFORMED – действие произошло; -
ALT_MASK – нажата клавиша Alt; -
SHIFT_MASK – нажата клавиша Shift; -
CTRL_MASK – нажата клавиша Ctrl; -
ACTION_FIRST – первый номер в списке идентификаторов, используемых для событий действия; -
ACTION_LAST – последний номер в списке идентификаторов, используемых для событий действия.
Методы
public String getActionCommand()
public int getModifiers()
public long getWhen()
public String paramString()
позволяют получить соответственно командную строку, связанную с данным действием; ключ-модификатор для данного действия; время счетчика (в миллисекундах) для данного действия и строку параметра, идентифицирующего данное действие (обычно используется для отладки).
3.3.3.2. Интерфейсы ItemListener, ItemSelectable и класс ItemEvent
Для классов JComboBox, JCheckbox, JRadioButton и JList определен блок прослушивания ItemListener с единственным методом
public void itemStateChanged(ItemEvent e),
вызываемым, когда происходит выбор или отмена выбора элементов в объектах класса Choice, Checkbox или List.
Класс ItemEvent содержит переменные и методы для обработки события, связанные с выбором элемента или отменой выбора элемента.
Для класса ItemEvent
определены следующие статические final переменные типа int:
-
SELECTED – элемент выбран; -
DESELECTED – выборка элемента отменена; -
ITEM_STATE_CHANGED – состояние элемента изменено; -
ITEM_FIRST – первый номер в списке идентификаторов, используемых для событий выбора элемента; -
ITEM_LAST – последний номер в списке идентификаторов, используемых для событий выбора элемента.
Методы
public Object getItem()
public int getStateChange()
public String paramString()
позволяют получить соответственно элемент, вызвавший событие; изменение состояния элемента (выбран или не выбран) и строку параметра, идентифицирующего выбор элемента (обычно используется для отладки).
Метод
public ItemSelectable getItemSelectable()
возвращает объект интерфейса ItemSelectable. Этот интерфейс предназначен для объектов, в которых допустим выбор одного или более элементов и содержит объявления методов
public void addItemListener(ItemListener l)
public void removeItemListener(ItemListener l)
для добавления и удаления блоков прослушивания выбора или отмены выбора элементов из списка, а также метод
public Object[] getSelectedObjects(),
который должен возвращать массив выбранных объектов или null, если не выбрано ни одного объекта.
3.3.4. Обработка событий в Java
Чтобы блок прослушивания мог фиксировать и обрабатывать события он должен быть включен с помощью методов добавления блоков прослушивания в класс (эти методы определены в классе Component).
Методы включения блоков прослушивания имеют следующий общий формат:
public void addXXXX (XXXX l)
Где XXXX – имя соответствующего блока прослушивания, например включение в класс блока прослушивания для событий клавиатуры реализуется с помощью метода
public void addKeyListener (KeyListener l).
Таким образом, для обработки события в каком либо классе необходимо:
-
Сделать доступным методы, определенные в соответствующем интерфейсе или интерфейсах, объявив класс как реализацию (implementation) соответствующего интерфейса или интерфейсов. -
Включить необходимые блоки прослушивания с помощью соответствующего метода addXXXX. -
Описать в программе все методы всех реализуемых интерфейсов (если какой-либо метод не используется в классе, он объявляется с пустым телом – {}). В методах интерфейсов обычно используются методы и свойства соответствующего класса обработки событий.