////////////////////////////////////////////////////////////////////////////////
//  << j341.java >>
//
//  アプレット(4):イベント処理(概説)
//
//  ●イベント処理
//
//    ユーザがボタンをクリックすると、イベントという情報としてまとめられる。
//  このイベントは、イベントリスナに渡され処理される。
//  このような処理形式をイベント処理という。
//
//  ・イベントの発生源となるコンポーネントをイベントソースという。
//  ・イベントリスナは、リスナーインターフェースを実装しているクラスで、
//   受理したイベントを処理するメソッドが記述される。
//  ・イベント処理に関連するクラスは、java.awtパッケージやjava.awt.event
//   パッケージに存在する。
//
// ●イベント処理の仕組み
//
//  (1)イベントソースからイベントが発生する。
//     イベントには、その種類ごとに対応するクラス(ボタン操作から発生する
//       イベントにはActionEventクラスがある)が定義されており、イベントが
//       発生すると、そのオブジェクトが作られる。
//  (2)イベントのオブジェクトは、イベントリスナのオブジェクトに送られ
//       処理される。
//       あらかじめ、イベントリスナのオブジェクトをイベントソースのオブジェクト
//       に登録しておく必要がある。
//
//  ・イベントリスナは、イベントに対応するリスナーインターフェースを実装する
//   ことが要求される。例えば、ボタンのイベントを処理するイベントリスナは、
//      ActionListenerというインターフェース中のメソッド(actionPerformed)に
//      処理手順を記述することになる
//
// ●イベント処理プログラムの書き方
//
//  次の2点を記述することが必要。
// (手順1)リスナーインターフェースを実装するリスナクラスを定義する。
// (手順2)イベントソースのオブジェクトに、イベントリスナのオブジェクトを
//      登録する。
// 
//      イベントソースのオブジェクト.addEventListener(イベントリスナの
//                             オブジェクト)
//
//  ・イベントリスナの削除は、次のようにする。
//
//      イベントソースのオブジェクト.removeEventListener(イベントリスナの
//                             オブジェクト)
//
//
// ○アプレット上でボタンのイベント処理
//
//    import java.awt.*; // イベント処理関連クラスをインポート。
//    import java.awt.event.*; // イベント処理関連クラスをインポート。
//    import java.applet.Applet;
//
//    public class クラス名 extends Applet implements ActionListener {
//      ・・・              //(手順1)アプレット自身がイベントリスナになる。
//   Button b;
//
//      public void init() {
//        b = new Button("ボタン");
//        b.addActionListener(this); //(手順2)イベントソースのオブジェクト
//                                   // (b)に、イベントリスナのオブジェクト
//                               // (actionPerformedメソッドを実装する
//                                   // オブジェクト、この場合、アプレット自身に
//                                   // なるので、this)を登録する。
//      }
//
//      public void actionPerformed(ActionEvent e) (
//        イベント処理を書く。
//      }
//      ・・・
//    }
//
////////////////////////////////////////////////////////////////////////////////