////////////////////////////////////////////////////////////////////////////////
//  << ja155a.java >>
//
//  JApplet(3):キー操作(イベント処理)
//
// ●操作
//  押されたキーを文字列として表示する。
//
// ●イベント処理
//  イベントソース:キー操作
//  イベント   :KeyEventクラス
//  イベントリスナ:KeyListenerインターフェース
//                    keyTyped, keyPressed, keyReleased
//
// ●KeyListenerインターフェースのメソッド
//    public void keyPressed(KeyEvent e)
//   機能:キーが押されたときの処理。
//    public void keyReleased(KeyEvent e)
//   機能:キーが離されたときの処理。
//    public void keyTyped(KeyEvent e)
//   機能:キーが入力されたときの処理。
//
//  ●KeyEventクラスのメソッド
//  public char getKeyChar()
//      機能:入力された文字を取得する。
//
////////////////////////////////////////////////////////////////////////////////

import java.awt.*;
import java.awt.event.*; 
import javax.swing.*;

public class ja155a extends JApplet implements KeyListener {

  JLabel lab;
  Font f;
  String s;

  // initメソッドの定義。
  public void init() {
    // アプレットからコンテンツペインを取得。
    Container c = this.getContentPane();

    // コンテンツペインのレイアウトマネージャをBorderLayoutに設定。
    c.setLayout(new BorderLayout(10,10));

    // フォントの作成。
    f = new Font("Courier", Font.BOLD, 48);

    // ラベルの作成。
    lab = new JLabel("キーを操作してください");
    // ラベルをコンテンツペイン内に追加。
    c.add(lab,BorderLayout.CENTER);

    // イベントリスナの登録。
    this.addKeyListener(this);
  }

  // keyTypedメソッドの定義。
  public void keyTyped(KeyEvent e) {
    s = "" + e.getKeyChar();
    lab.setText(s);
    lab.setFont(f);
    lab.setForeground(Color.green);
  }

  // 残りのメソッドも定義する必要がある。
  public void keyPressed(KeyEvent e) { }
  public void keyReleased(KeyEvent e) { }
}
HTMLファイル
<html>
<head>
  <title>アプレット</title>
</head>
<body bgcolor=white text=black>
<applet code="ja155a.class" width="300" height="200">
</applet>
</body>
</html>
実行結果