/**********************************************************************************
 *                                                                                *
 *                          パスワードJavaアプレット                            *
 *                              ( Pwd10.java )                                *
 *                                                        Author : Seiichi Inoue  *
 **********************************************************************************/

/****************** << インポートパッケージクラス定義 >> ********************/
import java.applet.Applet;             /* Appletパッケージ            */
import java.applet.AppletContext;      /* AppletContextパッケージ         */
import java.awt.*;                     /* Abstract Window Toolkitパッケージの全て */
import java.net.URL;                   /* URLパッケージ              */
import java.net.MalformedURLException; /* MalformedURLExceptionパッケージ     */

/************************ << 自分のクラス定義 >> ****************************/
//   クラス名称   : Pwd10
//   アクセス制御  : public(どのクラスからもアクセス可能)
//   継承クラス   : Applet
public class Pwd10 extends Applet {

/************************ << クラス属性の定義 >> ****************************/
    TextField    input;                         /* パスワード入力フィールド    */
    String       s = null;                      /* 入出力情報           */
    URL          secretURL = null;              /* URL情報           */

/**************************** << 情報設定 >> ********************************/
// パスワード設定
    String       password = "inoue";            /* 英数字20文字以内        */

// ジャンプ先URL
    String       setURL = "http://hobby_elec.piclist.com/java29_3.htm";

/******************** << クラスのメッソード指定(実行手順) >> **************/

/*********** 初期化(init)メッソード **********/
    public void init() {
        input = new TextField( 20 );            /* 入力フィールド作成       */
        input.setEchoCharacter('*');            /* パスワードエコー*       */
        add( input );                           /* アクション監視追加       */

    try {                                       /* 割り込み確認          */
        secretURL = new URL ( setURL );         /* URLオブジェクト作成     */
    }
    catch ( MalformedURLException e ) {}        /* 割り込み処理          */

    }                                           /* 初期化メッソード終了      */

/********** アクション監視メッソード *********/
    public boolean action(Event e,Object o) {
        s = (String)o;                          /* 入力文字読み込み        */
        if ( s.equals ( password ) ) {          /* 入力文字がパスワードと一致?  */
            s = null;                           /* エラー表示クリア        */
            if ( secretURL != null )            /* URL正常?          */
            getAppletContext().showDocument( secretURL ); /* URLへジャンプ     */
        } else {                                /* 不一致             */
            s = "Password Error";               /* Password Errorを設定      */
            repaint();                          /* Password Errorの印字指示    */
        }
        return true;
    }                                           /* アクション監視終了       */

/************ 描画(paint)メソッド ************/
    public void paint( Graphics g ) {
        g.setColor( Color.white );              /* 背景色設定           */
        g.fillRect( 0,0,180,50 );               /* 背景色塗りつぶし         */
        g.setColor( Color.black );              /* 文字色設定           */
        g.drawString( s,50,40 );                /* 文字を描画           */

    }                                           /* 描画メッソード終了       */

}                                               /* クラス設定終了         */

/**********************************************************************************
 *               パスワードJavaアプレット終了                           *
 **********************************************************************************/