パラメータを受け取る
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については、この講座の目的ではないので紹介しません
ただ、このようにアプレットを操作する方法もあるということです