RevName11.java



import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

/** マウスの操作で表示が反転するアプレットRevName11のクラス定義 */

public class RevName11 extends Applet implements MouseListener {

   /** 表示する文字列 */

        public String message = "Wakkanai Hokusei";

   /** フォント */

        public Font textFont = null;

   /** マウスがアプレット内にあるかどうかを示すフラグ */

        protected boolean stateFlag = false;

   /** 初期設定を行う。生成時に自動的に呼ばれる */

        public void init() {
               int width;  // 指定されたフォントと文字列から計算したサイズ

               textFont = new Font( "TimesRoman", Font.ITALIC, 24 );
               width = getFontMetrics(textFont).stringWidth( message ) + 10;
               setSize( width, 32 );     // JDK1.0 では resize()
               addMouseListener( this );  // 自分自身を登録
        }

   /** アプレットにグラフィックを描く
    *  最初の表示の時には自動的に、後はrepaint() によって呼ばれる。
    */
        public void paint( Graphics g ) {
               if( stateFlag == false ) {   // マウスはアプレットの外にある
                   g.setFont( textFont );
                   g.setColor( Color.yellow );
                   g.fill3DRect( 1, 1, getSize().width-2,
                        getSize().height-2, true );   //JDK1.0 ではsize()
                   g.setColor( Color.black );
                   g.drawString( message, 5, 22 );
               }
               else {   // マウスがアプレットの中にある
                   g.setFont( textFont );
                   g.setColor( Color.black );
                   g.fill3DRect( 1, 1, getSize().width-2,
                        getSize().height-2, false );  //JDK1.0 ではsize()
                   g.setColor( Color.yellow );
                   g.drawString( message, 5, 22 );
                }
        }

   /** マウスがアプレット内に入った時に自動的に呼び出される */

        public void mouseEntered( MouseEvent evt ) {
               stateFlag = true;
               repaint();          // paint() を呼び出す
        }

   /** マウスがアプレットの外に出た時に自動的に呼び出される */

        public void mouseExited( MouseEvent evt ) {
               stateFlag = false;
               repaint();         // paint() を呼び出す
        }

   /** マウスボタンが押された時に自動的に呼び出される */

        public void mousePressed( MouseEvent evt ) {
        }

   /** マウスボタンが放された時に自動的に呼び出される */

        public void mouseReleased( MouseEvent evt ) {
        }

   /** マウスボタンがクリックされた時に自動的に呼び出される */

        public void mouseClicked( MouseEvent evt ) {
        }
}