Работаем с клавиатурой

Для работы с клавиатурой используется интерфейс KeyListener. Т. е. класс нашего апплета должен реализовывать этот интерфейс для работы с клавиатурой. В этом интерфейсе имеется три метода: keyPressed, keyReleased и keyTyped - и наш апплет должен их всех реализовать. Эти методы вызываются соответственно когда пользователь нажимает и отпускает клавишу на клавиатуре и в промежутке между нажатием/отпусканием.

Вот пример апплета, реагирующего на нажатия клавиш на клавиатуре.

import java.applet.*;import java.awt.*;import java.awt.event.*;public class FirstApplet extends Applet implements KeyListener { String s; // Выводимая строка. //Реализуем интерфейс KeyListener. public void keyPressed(KeyEvent k_e) { } public void keyReleased(KeyEvent k_e) { } public void keyTyped(KeyEvent k_e){ s+=k_e.getKeyChar(); repaint(); } public void init() { // Добавление слушателя для мышиных событий. addKeyListener(this); // Установка фокуса на апплет. requestFocus(); } public void paint(Graphics g) { //Рисуем строку. g.drawString(s, 10, 10); } }

После запуска апплета в нем будет появляться текст, который мы будем набирать на клавиатуре (для этого, возможно, придеться сначала щелкнуть на апплете мышкой). Также обратите внимание, что нажатие разных специальных клавиш будет обратываться некорректно - например, клавиша backspace не будет стирать последний символ, а будет, наоборот, добавлять еще один символ (который будет отображаться в виде квадратика). Ни и, конечно, методы keyPressed и keyReleased мы тут добавили просто потому, что они должны быть в нашем классе, так как они присутствуют в нашем интерфейсе KeyListener. В этих обработчиках мы ничего не пишем.