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 ) {
/* 形式上必要 */
}
}