パラメータを受け取る


HTMLからアプレットに値を渡す

アプレットの基本的な作成方法がある程度わかってきたところで
実用的なアプレットには欠かせない、パラメータを受け取るアプレットを作成しましょう

いままでは、出力する文字列を変更するだけでも、javaファイルをコンパイルしなおす必要がありました
アプリケーションならば当然のことですが、Webとなるとこの作業は効率的ではありません
あるいは、配布用のアプレットの場合は初心者でも扱える必要があります

アプレットはHTMLタグからパラメータを受け取ることができます
この方法を利用すれば、動的でかつ汎用的なアプレットを作成することができます
再コンパイルする手間を省き、HTMLファイルを変更するだけで内容を変化させることができます

アプレットにパラメータを渡すには、<applet></applet>の内部で<param>タグを指定します

<applet code="url" width="x"height="y">
<param name="name" value="string">
...
</applet>

paramタグは、appletタグ内に任意の数を指定することができます

HTMLの指定方法はわかりましたね、次はJava言語のほうで受け取らなくてはなりません
パラメータを受け取るのはAppletクラスのgetParameter()メソッドです

public String getParameter( String name )

nameには、受け取るパラメータの名前を指定します
このメソッドは、指定したパラメータから渡された値を文字列型のオブジェクトとして返します

パラメータの指定は、paramタグで指定したname属性の名前です
HTMLからパラメータを受け取る方法さえ覚えてしまえば、CGIやスクリプトからアプレットを操作できます
import java.applet.Applet;
import java.awt.*;

/*      <applet code="App16.class" width="400" height="200">
        <param name="str" , value="Kitty on your lap">
        </applet>*/

public class App16 extends Applet {
        public void init() {
                setBackground(Color.white);
                setForeground(Color.pink);
        }

        public void paint(Graphics g) {
                g.setFont(new Font("serif" , Font.BOLD , 30));
                FontMetrics fo = g.getFontMetrics();
                String str = getParameter("str");
                g.drawString(str , 200 - fo.stringWidth(str) / 2 , 100);
        }
}
アプレット

プログラムの内容はまったく同じですが、上のサンプルソースはKitty on your lapと出力します
しかし、このアプレットはHTMLのJavaScriptでプロンプトから入力を促し
訪れた人に、アプレットに出力する文字列を指定させることができます
プロンプトが出なかった場合は、JavaScript対応ブラウザでご覧ください(IE5推奨)

JavaScriptやCGIについては、この講座の目的ではないので紹介しません
ただ、このようにアプレットを操作する方法もあるということです



前のページへ戻る次のページへ