Если окно апплета владеет фокусом ввода, то при нажатии пользователем клавиши генерируется событие клавиатуры. События клавиатуры обрабатываются методами keyDown() и keyUp()

boolean keyDown(Event объект, int клавиша)
boolean keyUp(Event объект, int клавиша)

где параметр объект описывает событие, а клавиша содержит код нажатой клавиши. Параметр клавиша может иметь тип char. При перекрытии этих методов апплет должен возвращать true в случае обработки события.
    Следующая программа выводит строки вводимых символов в окне апплета. На панели состояния отражается состояние каждой клавиши (нажата или опущена).

// Обработчики событий клавиатуры
import java.awt.*;
import java.applet.*;
/*
  <applet code="Simple Key" width=300 height=100>
  </applet>
*/
public class SimpleKey extends Applet {
   String msg = "";
   
   //Обработка событий нажатия клавиши
   public boolean keyDown(Event evtObj, int key) {
      msg += (char)key;
      repaint();
     showStatus("Key down");

      return true;
   }

   //Обработка событий отпускания клавиши
   public boolean keyUp(Event evtObj, int key) {
      showStatus("Key up");

      return true;
   }

   //Вывод на экран строки
   public void paint(Graphics g) {
     g.drawString(msg, 10, 20);
   }
}