Java アプレットは、Java 言語で記述された小さなアプリケーションであり、ページに直接埋め込まれ、Java をサポートするブラウザ (IE または Nescape) によって解釈および実行されて、特殊効果が生成されます。これにより、Web ページの対話機能と動的実行機能が大幅に向上します。アプレットを含む Web ページは Java 搭載ページと呼ばれ、Java サポート Web ページと呼ぶこともできます。
ユーザーがそのような Web ページにアクセスすると、アプレットがユーザーのコンピュータにダウンロードされて実行されますが、これはユーザーが Java 対応の Web ブラウザを使用している場合に限られます。アプレットはユーザーのコンピュータ上で実行されるため、その実行速度はネットワーク帯域幅やモデムのアクセス速度によって制限されず、ユーザーは Web ページ上でアプレットによって生成されるマルチメディア効果をよりよく理解できます。
アプレット小規模アプリケーションの実装は、主に java.applet パッケージ内の Applet クラスに依存します。一般的なアプリケーションとは異なり、アプレット アプリケーションは、解釈して実行する前に HTML ページに埋め込む必要があります。同時に、アプレットは Web ページからパラメータを取得し、Web ページと対話できます。
アプレットを含む Web ページの HTML ファイル コードには、<applet> と </applet> などのタグのペアが含まれている必要があります。Java をサポートする Web ブラウザは、このタグのペアを検出すると、対応するアプレット コードをダウンロードして保存します。アプレット アプレットをコンピュータ上で実行します。
アプレットは小さな Java プログラムであり、アプレットの HTML ファイルを使用して、Java をサポートする Web ブラウザによってダウンロードされ、実行されます。 Java 開発ツールのアプレットビューアを通じて実行することもできます。アプレット プログラムは、それを使用する HTML ファイルから分離できません。この HTML ファイル内のアプレットに関する情報には、少なくとも次の 3 点が含まれている必要があります。
1) バイトコード ファイル名 (コンパイルされた Java ファイル、サフィックスとして .class が付く)
2) バイトコード ファイルのアドレス
3) アプレットを表示するウェブページの方法。
アプレット関連のコンテンツを HTML ファイルに追加すると、サウンド、アニメーション、その他の魅力的な機能が追加されるなど、Web ページがより活発になるだけであり、アプレットに関連しない HTML ファイル内の要素は変更されません。
(1) アプレットプログラムの開発手順
アプレットプログラムの主な開発手順は以下のとおりです。
1) EDIT や Windows のメモ帳などをエディタとして使用し、Java アプレットのソースプログラムを作成します。
2) アプレットのソースプログラムをバイトコードファイルに変換します。
3) クラスを使用して HTML ファイルを準備します。必要な <APPLET> ステートメントを HTML ファイルに記述します。
以下は、アプレット プログラムの開発プロセスを示す最も単純な HelloWorld の例です。
(1) アプレットの Java ソース ファイルを編集して
C:ghq フォルダを作成し、このフォルダ内に HelloWorld.java ファイルのソース コードを作成します
。以下に続きます:
java.awt.* をインポートします。
java.applet.* をインポートします。
public class HelloWorld extends Applet //アプレットJavaプログラムの特徴であるアプレットクラスを継承
{
パブリックボイドペイント(グラフィックスg)
{
g.drawString("Hello World!",5,35);
}
}
上記のプログラムを C:ghqHelloWorld.java ファイルに保存します。
(2) アプレットをコンパイルし
、HelloWorld.java ソース ファイルをコンパイルするには、次の JDK コマンドを使用できます。
C:ghq>javac HelloWorld.java<Enter>
注: 記述されたソース プログラムが Java プログラミング言語の構文規則に違反している場合、Java コンパイラは画面に構文エラー メッセージを表示します。 Java コンパイラがソース プログラムをアプレット ビューアとブラウザで実行できるバイトコード プログラムに正常に変換できるように、ソース ファイルには文法エラーが含まれていてはなりません。
Java アプレットのコンパイルが成功すると、応答バイトコード ファイル HelloWorld.class ファイルが生成されます。リソース マネージャーまたは DIR コマンドを使用してディレクトリを一覧表示すると、ディレクトリ C:ghq に HelloWorld.class という名前の追加ファイルがあることがわかります。
(3) HTML ファイルを作成する
作成した HelloWorld.class を実行する前に、アプレットビューアまたはブラウザがこのファイルを通じてアクセスする HTML ファイルを作成する必要があります。 HelloWorld.class を実行するには、次の HTML ステートメントを含む HelloWorld.html という名前のファイルを作成する必要があります。
<HTML>
<TITLE>HelloWorld! アプレット</TITLE>
<アプレット
CODE="JavaWorld.class"
幅=200
高さ=100>
</アプレット>
</HTML>
この例では、<APPLET> ステートメントでアプレットのバイトコード クラス ファイル名とウィンドウのサイズをピクセル単位で指定します。ここでは、HTML ファイルのファイル名は HelloWorld.java に対応する HelloWorld.HTML としていますが、この対応は必須ではありません (Ghq.HTML など)。ただし、ファイル名の対応関係を維持すると、ファイル管理が便利になります。
(4) HelloWorld.html
の実行 アプレットビューアを使用して HelloWorld.html を実行する場合は、次のコマンドラインを入力する必要があります。
C:ghq>アプレットビューア JavaWorld.html<ENTER>
見てわかるように、このコマンドはアプレットビューアを起動し、HelloWorld に対応する <APPLET> ステートメントを含む HTML ファイルを指定します。
ブラウザを使用して HelloWorld アプレットを実行する場合は、ブラウザのアドレス バーに HTML ファイルの URL アドレスを入力する必要があります。
この時点で、アプレット プログラムの開発と実行のプロセス全体が終了します (Java ソース ファイル、コンパイルされたクラス ファイル、HTML ファイル、およびアプレットビューアまたはブラウザでの実行を含む)。
(2) アプレットクラス
アプレットクラスはすべてのアプレットアプリケーションの基本クラスであり、すべての Java アプレットはこのクラスを継承する必要があります。以下に示すように。
java.applet.* をインポートします。
パブリック クラス OurApplet はアプレットを拡張します
{
...
...
は
public Applet() だけです。
以下に、アプレット クラスの一般的なメソッドと使用法を示します。
public Final void setStub(AppletStub スタブ)
//アプレットのスタブを設定します。スタブは、Java と C の間でパラメータを変換し、値を返すコード ビットであり、システムによって自動的に設定されます。
public boolean isActive(); // アプレットがアクティブかどうかを判断します。
public URL getDocumentBase(); // アプレットが実行されるファイル ディレクトリを表すオブジェクトを取得します。
public URL getCodeBase(); // アプレット コードの URL アドレスを取得します。
public String getParameter(String name); // アプレットの名前で指定されたパラメータの値を取得します。
public AppletContext getAppletContext(); // ブラウザまたはアプレット オブザーバを返します。
public voidsize(int width,int height); //実行中のアプレットのウィンドウ サイズを調整します。
public voidsize(Dimension d); //アプレットが実行されるウィンドウのサイズを調整します。
public void showStatus(String msg); // 指定された情報をブラウザのステータスバーに表示します。
public Image getImage(URL url); // url で指定されたアドレスに従って画像を読み込みます。
public Image getImage(URL url,String name); // url で指定されたアドレスとファイル名に従って画像を読み込みます。
public AudioClip getAudioClip(URL url); // urlで指定されたアドレスに従ってサウンドファイルを取得します。
public AudioClip getAudioClip(URL url, String name); // urlで指定されたアドレスとファイル名に従ってサウンドを取得します。
public String getAppletInfo(); // アプレット アプリケーションの作成者、バージョン、著作権情報を返します。
public String[][] getParameterInfo();
// アプレットのパラメータを説明する文字列配列を返します。この配列には通常、パラメータ名、パラメータに必要な値の型、およびパラメータの説明の 3 つの文字列が含まれます。
public void play(URL url); // URL で指定されたオーディオ クリップをロードして再生します。
public void destroy(); // アプレットとそれが占有するリソースを元に戻します。アプレットがアクティブな場合は、まずアプレットの実行を終了します。
(1) アプレットの実行状態を制御する基本
メソッド アプレット クラスの 4 つの基本メソッド、init()、start()、stop()、destroy()
メソッド
が主に使用されます
。Applet の場合、通常の操作中にいくつかの初期化作業を実行します。アプレットがシステムによって呼び出されるとき、システムは最初にこのメソッドを呼び出します。通常、Web ページからアプレットにパラメータを渡したり、ユーザー インターフェイスの基本コンポーネントを追加したりする操作は、このメソッドで完了できます。
start() メソッド
システムは、init() メソッドを呼び出した後、自動的に start() メソッドを呼び出します。さらに、ユーザーがアプレットを含むホームページから離れて戻るたびに、システムは start() メソッドを再度実行します。これは、init() メソッドとは異なり、start() メソッドは複数回実行できることを意味します。したがって、一度だけ実行したいコードを init() メソッドに入れることができます。 start() メソッドでアニメーションやサウンドの継続などのスレッドを開始できます。
stop() メソッドは、
ユーザーがアプレットのあるページから離れるときに実行されるため、複数回実行することもできます。これにより、システムの実行速度に影響を与えないよう、ユーザーがアプレットに注意を払っていないときにシステム リソースを消費する一部の作業を停止でき、このメソッドを手動で呼び出す必要はありません。アプレットにアニメーション、サウンド、その他のプログラムが含まれていない場合、通常はこのメソッドを実装する必要はありません。
destroy() メソッドは、
オブジェクトの Finalize() メソッドとは異なります。Java は、ブラウザが閉じているときにのみこのメソッドを呼び出します。アプレットは HTML ファイルに埋め込まれているため、destruction() メソッドはアプレットがいつ閉じられたかは関係なく、ブラウザが閉じられたときに自動的に実行されます。 destroy() メソッドでは、通常、占有されている非メモリ非依存リソースの回復を要求できます。 (アプレットの実行中にブラウザを閉じた場合、システムは最初に stop() メソッドを実行し、次に destroy() メソッドを実行します。
(2) アプレット アプリケーションの関連パラメータの説明
アプレットを使用して、アプレットから渡されるパラメータを受け取ります。 HTML、これらのパラメータの簡単な説明は次のとおりです:
* CODE フラグ
CODE フラグはアプレット クラス名を指定します。WIDTH フラグと HEIGHT フラグはアプレット ウィンドウのピクセル サイズを指定します。APPLET ステートメントでは他のフラグも使用できます。
* CODEBASE フラグ
CODEBASEフラグは、アプレットのユニバーサル リソースの場所の URL を指定します。これは、現在の HTML が存在するディレクトリを基準とした相対アドレスにすることもできます。 HTML ファイルが CODEBASE フラグを指定していない場合、ブラウザは
*ALT フラグ
と同じ URL を使用します。Javaは WWW で非常に人気がありますが、すべてのブラウザが Java をサポートしているわけではありません。ブラウザは Java アプレットを実行できません。APPLET ステートメントを使用すると、ALT フラグで指定されたテキスト情報が表示されます。
ALIGN フラグは、
HTML ドキュメント ウィンドウ内でアプレット ウィンドウを表示する場所を制御するために使用できます。 HTML<LMG> ステートメントでは、ALIGN フラグで指定される値は TOP または MIDDLE または BOTTOM です。
* VSPACE フラグと HSPACE フラグ
VSPACE フラグと HSPACE フラグは、ブラウザがアプレットの周囲に表示する水平および垂直の空白バーのサイズを指定します。アプレット ウィンドウの上下に 50 ピクセルのスペースを残し、左右に 25 ピクセルのスペースを残すには、このフラグを使用します。
* NAME フラグ
NAME フラグは、現在のインスタンスに指定された名前を与えます
。アプレット。ブラウザが 2 つ以上のアプレットを同時に実行している場合、各アプレットは名前によって相互に情報を参照したり交換したりできます。アプレットの名前はそのクラス名に対応します
。
汎用性は、ユーザーやプログラマが追求する目標の 1 つであり、アプレットがさまざまなタスクを完了することは、HTML ファイルから情報を取得することによって、アプレットの汎用性を向上させる効果的な方法と
なります
。アプレットをより多機能にするために、アプレットはスクロールする必要があるテキスト情報を HTML ファイルから取得できます。別の会社の名前を表示する必要はありません。 Java アプレット自体を変更する必要がある場合は、HTML ファイルを変更するだけで済みます。PARAM
フラグは、次の形式でパラメータを指定できます。 PARAM
Name="name" Value="Liter"
Java アプレットは次のように指定できます。 getParameter メソッドを呼び出して、HTML ファイルに設定されているパラメータ値を取得します。