Previous | Next | Trail Map | Writing Applets | 他のプログラムとコミュニケートする


ブラウザとコミュニケートする

Applet および AppletContext のメソッドの多くは、ブラウザまたは Applet ビュー ワーと何らかのコミュニケーションを行うようになっている。 たとえば、Applet の getDocumentBase()getCodeBase() メソッドは、アプレットとその HTML ページがどこか ら配信されたかについて、ブラウザまたは Applet ビューワーから情報を得る。また、 Applet の showStatus() メソッドは状態メッセージを表示するよう ブラウザまたはビューワーに指示するようになっている。 Applet の getParameterInfo() メソッドはブラウザにアプレットが認 識するパラメータのリストを渡すことができる。 一方、ブラウザあるいは Applet ビューワー側でも Applet のinitstartstopdestroy メソッドを呼び出して、アプレットに状態が変化したことを伝達する。 このようなメソッドすべては、この節の別の場所で説明されている。

ここの話題に関連するメソッドとして、ほかに AppletContext のshowDocument() メソッドがある。 これらのメソッドによって、アプレットはブラウザに対しどの URL をどのブラウザ ウィンドウに表示させるかを制御できる。(ただし、 Applet ビューワーはこれらの メソッドを無視する。)次に、showDocument() の 2 つの書式を示す。

public void showDocument(java.net.URL url)
public void showDocument(java.net.URL url, String targetWindow)

showDocument() の引数が 1 個しかない書式は、指定された URL にある文書を表示するようブラウザに指示するだけである。文書を表示するウィンドウの指定は行わない。

showDocument() の引数が 2 個ある書式は、文書を表示するウィンド ウも指定する。 2 番目の引数には以下の値を指定することができる。

"_self"
そのアプレットを含むウィンドウに文書を表示する。
"_parent"
そのアプレットを含むウィンドウの親ウィンドウに文書を表示する。 アプレットのウィンドウが最上位のウィンドウのときは、"_self" と同じよう に機能する。
"_top"
そのアプレットを含む従属ウィンドウの最上位のウィンドウ (Frame) に文書を 表示する。 アプレットのウィンドウが最上位のウィンドウのときは、"_self" と同じよう に機能する。
"_blank"
新規の、名前が付いていないウィンドウに文書を表示する。
"windowName"
windowName という名前のウィンドウに文書を表示する。必要があれ ば、このウィンドウは新たに作成される。

以下に、showDocument() の両方の書式を使用したアプレットを示す。

次のコードは、showDocument() を呼び出すアプレットのコードである 。 (プログラム全体も用意されている。)

        ...//Applet サブクラスにて...
        urlWindow = new URLWindow(getAppletContext());
        . . .

class URLWindow extends Frame {
    . . .
    public URLWindow(AppletContext appletContext) {
        . . .
        this.appletContext = appletContext;
        . . .
    }

    public boolean action(Event event, Object o) {
        . . .
            URL url = null;
            try {
                url = new URL(urlString);
            } catch (MalformedURLException e) {
                ...//ともかくユーザに通知して、戻る...
            }

            if (url != null) {
                if (/* ユーザがウィンドウを指定したくない場合 */){
                    appletContext.showDocument(url);
                } else {
                    appletContext.showDocument(url, /* ユーザの指定*/);
                }
            }
        . . .


Previous | Next | Trail Map | Writing Applets | 他のプログラムとコミュニケートする