Материал: 5 - Презентация

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Центрдистанционногообучения

Пример Fahrenheit

Такой пример как PushCounter, графический интерфейс настраивается в отдельном классе панели

Внутренний класс TempListener определяет слушателя для события создаваемого при действиях в текстовом поле

Конструктор FahrenheitPanel конструктор

инициализирует слушателя и добавляет его в текстовое поле

Когда пользователь задает температуру и нажимает ввод (enter), текстовое поле генерирует событие и производит действия и вызывает actionPerformed метод слушателя actionPerformed(), который выполняет преобразования и обновляет надпись (label) результата

4-21online.mirea.ru

События клавиатуры Центрдистанционногообучения

• Событие клавиатуры генерируется, когда пользователь печатает на клавиатуре

Клавиша

клавиша на клавиатуре нажата

нажата

 

Клавиша

клавиша на клавиатуре высвобождается

отпущена

 

Клавиша

клавиша на клавиатуре нажата и

напечатана

освобожден

• Слушатели для событий клавиатуры создаются, реализуя интерфейс KeyListener

Объект KeyEvent передается в соответствующий метод, когда происходит событие, связанное с клавиатурой

7-22

online.mirea.ru

Центрдистанционногообучения

События клавиатуры

Компонент, который генерирует событие нажатия клавиши является тем, который имеет текущий фокус клавиатуры

Конствклассенты KeyEvent может быть использован, чтобы определить, какая клавиша была нажата

Класс KeyEvent содержит большой набор констант. Каждая

константа содержит код соответствующей клавиши (нет необходимости знать коды всех клавиш). Достаточно использовать какую-то из констант.

По названиям констант можно легко определить, какой клавише она соответствует. Например KeyEvent. VK_ENTER или KeyEvent.VK_F.

7-23online.mirea.ru

События клавиатуры Центрдистанционногообучения

JTextField textField = new JTextField(20); textField.addKeyListener (new KeyListener() {

public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { }

} );

Если нет необходимости реализовывать все методы KeyListener, то можно сделать вот так:

textField.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e) {

}

});

7-24online.mirea.ru

События клавиатуры Центрдистанционногообучения

Что происходит когда пользователь нажимает клавишу?

Каждый раз, когда пользователь нажимает клавиши на клавиатуре, то система вызывает методы keyTyped, keyPressed и keyReleased,

в качестве параметра им передается объект KeyEvent, который содержит всю необходимую информацию о произошедшем событии.

Замечание: поэтому можно узнать код клавиши, которая была нажата, за это отвечает метод getKeyCode.

Например, можно узнат, были ли зажаты при этом такие клавиши, как Alt, Shift или Ctrl. Проверить это можно вызвав соответственно методы

isAltDown, isShiftDown и isControlDown.

Помните: события от клавиатуры будут генерироваться системой только тогда, когда компонент, который мы слушаем, находится в фокусе

7-25online.mirea.ru