last modified: Jan./29th/2002
Java アプレットはブラウザ上で実行されます。したがって、スタンドアローンの単純なアプリケーションとは異なり、 java
インタープリタで実行されるわけではありません。アプレットの実行には、ブラウザと、ブラウザが読み込む HTML 文書が必要です。
また、動作確認用に appletviewer
が J2SDK に同梱されています。このツールにアプレットを含んだ HTML 文書を読み込ませることで、アプレットの動作確認が出来ます。
HTML 文書では、applet 要素によって、目的のアプレットのバイトコード (*.class
) を読み込むように指示します。
HTML 文書の断片:
<applet code="クラス名" width="幅" height="高さ"> アプレットが実行できない場合の代替内容。 </applet>
code
属性でクラス名を指定しますが、ここにはクラスファイル名 (*.class
) を与えても良い。
アプレット描画領域の幅と高さは無単位の数値で指定しますが、ピクセル単位で解釈されます。
また、 main()
メソッドの引数のように、アプレットにも引数を与えられますが、これは applet 要素の子要素である param 要素で指定します。
<applet code="クラス名" width="幅" height="高さ"> <param name="引数名" value="値"> <param name="引数名" value="値"> アプレットが実行できない場合の代替内容。 </applet>
このようにセットした引数は、アプレット側では getParameter("引数名")
で取得できます。
applet, param 要素では他にも多くの属性が指定できるのですが、ここでは紹介しません。
applet 要素は現在の事実上の標準である HTML4 Transitional で定義されており、 XHTML 1.0 Transitional でも継承されています。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
詳しくは HTML 文書入門を参照ください。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML では上述の param 要素の記述方法に変更があり、次のようにします:
<applet code="クラス名" width="幅" height="高さ"> <param name="引数名" value="値" /> <param name="引数名" value="値" /> アプレットが実行できない場合の代替内容。 </applet>
最小の XHTML 1.0 文書のインスタンス(実例):
<?xml version="1.0" encoding="Shift_JIS" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>XHTMLとは何だろうか</title> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS" /> </head> <body> <p><a href="http://www.w3.org/TR/xhtml1">W3C</a> で定義されています。</p> </body> </html>
XHTML は XML 文書です。 XML 宣言から始まり、文書型定義 (DTD) 宣言へ続いて、 html 要素が始まります。 HTML 4 までは Case Insensitive (大文字/小文字を区別しない)ですが、 XHTML 1.0 以降は Case Sensitive (大文字/小文字を区別する)です。
上の XHTML ソースは一般に共通する部分ですが、文字コードの指定 Shift_JIS
は、ご利用の環境に応じて変更することが必要です。実際の文書では body 要素内部が本文の記述部分であり、 applet 要素はここに記述します。
詳しい方のためにもっと詳しく言うと、 applet 要素はインライン要素であり、ブロック要素内部に記述します。 applet 要素の内容には当該アプレットが実行できない場合のために代替内容を記述しますが、任意のインライン要素が記述できます。
詳しくは XHTML 1.0 入門を参照ください。
HTML 4 Strict, XHTML 1.0 Strict, XHTML 1.1 では applet 要素は廃止されています。 applet 要素は後方互換のために過渡的に用意された非推奨 (deprecated) 要素です。 HTML 4 以降では object 要素の利用が推奨されており、 HTML 4 Strict, XHTML 1.0 Strict, XHTML 1.1 では object 要素だけしか利用できません。
HTML 4 Strict DTD 宣言:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
XHTML 1.0 Strict DTD 宣言
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.1 DTD 宣言
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
XHTML 1.0 Strict, XHTML 1.1 の object 要素
<object codetype="application/java" classid="クラス名" width="幅" height="高さ"> <param name="引数名" value="引数の値" /> <param name="引数名" value="引数の値" /> アプレットが実行されない場合の代替内容。 </object>
object 要素の classid
属性の値には、 java:クラスファイル名
(*.class
) とすることも出来ます。
HTML 4 の場合は、 param 要素が <param name="引数名" value="引数の値">
になります。末尾が異なるので注意してください。
object 要素を用いたこの記述方法をサポートしているブラウザは少ないので、実際にはクロスブラウザに注意を払う必要があります。
詳しくは XHTML 1.1 入門を参照ください。