SensitiveFrameTest.java



import java.awt.Frame;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;

/** フレームのオブジェクトを生成して表示させる FrameTestクラス */

public class SensitiveFrameTest {

   /** 最初に呼び出されるメソッド */

       public static void main( String argv[] ) {

              SensitiveFrame2 sf = new SensitiveFrame2( 300, 500 );
              ChangeColor cc = new ChangeColor( sf );
              sf.addMouseListener( cc );    // リスナを登録
       }
}

/** マウスの出入を感知する SensitiveFrame2クラス */

class SensitiveFrame2 extends Frame {

  /** コンストラクタ */

       SensitiveFrame2( int width, int height ) {

              super();
              setSize( width, height );    // JDK1.0 では resize()
              show();
       }
}

/** イベント処理を実行する ChangeColorクラス */

class ChangeColor implements MouseListener {

  /** 処理の対象になるコンポーネント */

       Component cmp;

  /** コンストラクタ */

       ChangeColor( Component cmp ) {

              this.cmp = cmp;
       }

  /** イベント処理を実装したメソッド */

       public void mouseEntered( MouseEvent evt ) {

              cmp.setBackground( Color.red );
       }
       public void mouseExited( MouseEvent evt ) {

              cmp.setBackground( Color.white );
       }
       public void mouseClicked( MouseEvent evt ) {
              /* 形式上必要 */
       }
       public void mousePressed( MouseEvent evt ) {
              /* 形式上必要 */
       }
       public void mouseReleased( MouseEvent evt ) {
              /* 形式上必要 */
       }
}