モジュール javafx.web
パッケージ javafx.scene.web

クラスWebEngine


  • public final class WebEngine
    extends Object
    WebEngineは、一度に1つのWebページを管理できる、非ビジュアルのオブジェクトです。 Webページをロードし、そのドキュメント・モデルを作成し、必要に応じてスタイルを適用し、ページでJavaScriptを実行します。 これは、現在のページのドキュメント・モデルへのアクセスを提供して、JavaアプリケーションとページのJavaScriptコードの間の双方向通信を可能にします。

    Webページのロード

    WebEngineクラスでは、コンテンツをWebEngineオブジェクトにロードするための2つの方法が提供されます。

    ロードは常にバックグラウンド・スレッド上で発生します。 ロードを開始するメソッドは、バックグラウンド・ジョブのスケジュール直後に復帰します。 進捗の追跡やジョブのキャンセルを実行するには、getLoadWorker()メソッドから使用できるWorkerインスタンスを使用します。

    次の例では、ロードが正常に完了すると、ステージのタイトルが変更されます。

    
        import javafx.concurrent.Worker.State;
        final Stage stage;
        webEngine.getLoadWorker().stateProperty().addListener(
            new ChangeListener<State>() {
                public void changed(ObservableValue ov, State oldState, State newState) {
                    if (newState == State.SUCCEEDED) {
                        stage.setTitle(webEngine.getLocation());
                    }
                }
            });
        webEngine.load("http://javafx.com");
     

    ユーザー・インタフェースのコールバック

    WebEngineオブジェクトには、数多くのユーザー・インタフェースのコールバックを登録できます。 これらのコールバックは、ポップアップ・ウィンドウを開いたり、ステータス・テキストを変更するなどのユーザー・インタフェース操作の実行が、ページで実行されているスクリプトによってリクエストされたときに起動されます。 WebEngineオブジェクトでは、そのようなリクエストを内部的に処理できないため、対応するコールバックにリクエストを渡します。 特定の操作に対してコールバックが定義されていない場合は、リクエストは警告なしで無視されます。

    次の表は、JavaScriptユーザー・インタフェースのメソッドおよびプロパティと、それらの対応するWebEngineのコールバックを示しています。

    JavaScriptコールバック表
    JavaScriptのメソッド/プロパティ WebEngineのコールバック
    window.alert()onAlert
    window.confirm()confirmHandler
    window.open()createPopupHandler
    window.open()および
    window.close()
    onVisibilityChanged
    window.prompt()promptHandler
    window.statusを設定onStatusChanged
    次のいずれかを設定:
    window.innerWidthwindow.innerHeight
    window.outerWidthwindow.outerHeight
    window.screenXwindow.screenY
    window.screenLeftwindow.screenTop
    onResized

    次の例では、ブラウザ・ウィンドウをサイズ変更するコールバックを示します。

    
        Stage stage;
        webEngine.setOnResized(
            new EventHandler<WebEvent<Rectangle2D>>() {
                public void handle(WebEvent<Rectangle2D> ev) {
                    Rectangle2D r = ev.getData();
                    stage.setWidth(r.getWidth());
                    stage.setHeight(r.getHeight());
                }
            });
     

    ドキュメント・モデルへのアクセス

    WebEngineオブジェクトによって、WebページのDocument Object Model (DOM)が作成および管理されます。 モデルは、Java DOMコア・クラスを使用してアクセスおよび変更できます。 getDocument()メソッドにより、モデルのルートへのアクセスが提供されます。 さらに、Javaコードでイベント・ハンドラを定義するためのDOMイベントの仕様もサポートされています。

    次の例では、Javaイベント・リスナーをWebページの要素にアタッチします。 要素をクリックすると、アプリケーションが終了します。

    
        EventListener listener = new EventListener() {
            public void handleEvent(Event ev) {
                Platform.exit();
            }
        };
    
        Document doc = webEngine.getDocument();
        Element el = doc.getElementById("exit-app");
        ((EventTarget) el).addEventListener("click", listener, false);
     

    JavaScript式の評価

    executeScript(java.lang.String)メソッドを使用して、現在のページのコンテキストで、任意のJavaScriptコードを実行できます。 次に例を示します。

    
        webEngine.executeScript("history.back()");
     

    次の項で説明するように、実行結果は呼出し元に返されます。

    JavaオブジェクトへのJavaScriptの値のマッピング

    JavaScriptの値は、明確なJavaクラスを使用して表されます(nullはJava nullに、ブールはjava.lang.Booleanに、文字列はjava.lang.Stringになります)。 数値は、状況に応じてjava.lang.Doubleまたはjava.lang.Integerになります。 未定義の値は、"undefined"の値を持つ特定の一意の文字列オブジェクトにマップされます。

    結果がJavaScriptオブジェクトである場合、それはJSObjectクラスのインスタンスとしてラップされます。 (特殊なケースとして、次の項で説明するように、JavaScriptオブジェクトがJavaRuntimeObjectである場合は、かわりに元のJavaオブジェクトが抽出されます。) JSObjectクラスは、基礎となるJavaScriptオブジェクトのメソッドとプロパティへのアクセスを提供するプロキシです。 通常使用されるJSObjectメソッドは、getMember (指定されたプロパティを読み取る)、setMember (プロパティを設定または定義する)およびcall (関数で値を取得するプロパティを呼び出す)です。

    DOM Nodeは、JSObjectの拡張と適切なDOMインタフェースの実装の両方を行うオブジェクトにマップされます。 NodeJSObjectオブジェクトを取得するには、単にキャストを実行します。

     JSObject jdoc = (JSObject) webEngine.getDocument();
     

    場合によっては、コンテキストにより、変換の指針となる特定のJava型が提供されます。 たとえば、JavaScript式からJavaのStringフィールドを設定すると、JavaScriptの値は文字列に変換されます。

    JavaScriptの値へのJavaオブジェクトのマッピング

    JSObjectメソッドの引数のsetMembercallにより、JavaオブジェクトがJavaScript環境に渡されます。 このことは、前述したJavaScriptからJavaへのマッピングのほぼ逆であり、JavaのStringNumberまたはBooleanのオブジェクトが明確なJavaScriptの値に変換されます。 JSObjectオブジェクトは、元のラップされたJavaScriptオブジェクトに変換されます。 それ以外の場合は、JavaRuntimeObjectが作成されます。 これはJavaオブジェクトのプロキシとして動作するJavaScriptオブジェクトで、JavaRuntimeObjectのプロパティにアクセスすると、同じ名前のJavaフィールドまたはメソッドがアクセス対象となります。

    JSObject.setMemberJSObject.setSlot、およびJSObject.callを使用してバインドされたJavaオブジェクトは、弱い参照を使用して実装されることに注意してください。 これは、Javaオブジェクトがガベージ・コレクトされ、その後のJavaScriptオブジェクトへのアクセスが何の影響も与えないことを意味します。

    JavaScriptからJavaへのコールバック

    次の例で示すように、JSObject.setMemberメソッドは、JavaScriptからJavaコードをアップコールできるようにする場合に役立ちます。 Javaコードにより、appという新しいJavaScriptオブジェクトが確立されます。 このオブジェクトには、1つのパブリック・メンバーであるメソッドexitがあります。

    
    public class JavaApplication {
        public void exit() {
            Platform.exit();
        }
    }
    ...
    JavaApplication javaApp = new JavaApplication();
    JSObject window = (JSObject) webEngine.executeScript("window");
    window.setMember("app", javaApp);
     
    その後、HTMLページからオブジェクトとメソッドを参照できます。
    
        <a href="" onclick="app.exit()">Click here to exit application</a>
     

    ユーザーがリンクをクリックすると、アプリケーションが終了します。

    上記の例では、アプリケーションはJavaApplicationインスタンスへの参照を保持しています。 これは、JavaScriptからのコールバックが目的のメソッドを実行するために必要です。

    次の例では、アプリケーションはJavaオブジェクトへの参照を保持しません:

    
     JSObject window = (JSObject) webEngine.executeScript("window");
     window.setMember("app", new JavaApplication());
     

    この場合、プロパティ値はローカル・オブジェクト"new JavaApplication()"であるため、その値は次のGCサイクルでガベージ・コレクションされる可能性があります。

    ユーザーがリンクをクリックすると、コールバック・メソッドexitの実行が保証されません。

    特定の名前の複数のJavaメソッドが存在する場合は、エンジンにより、呼出し内のパラメータの数に一致するものが選択されます。 (可変引数は処理されません。) パラメータの数が正しいものが複数ある場合に、そのいずれが選択されるかは指定されていません。

    特定のオーバーロードされたメソッドを選択するには、"method_name(param_type1,...,param_typen)"の形式を持つ"拡張メソッド名"にパラメータのタイプをリストします。 通常は、JavaScript式を記述します。

     receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)
     

    Javaクラスとメソッドの両方をpublic宣言する必要があります。

    アプリケーションをモジュールとしてデプロイ

    JavaScriptに渡されたJavaクラスが名前付きモジュールにある場合は、javafx.webモジュールからリフレクションによるアクセスが可能である必要があります。 モジュールが少なくともjavafx.webモジュールに対してopensされていればリフレクションによるアクセスが可能になります。 それ以外の場合、メソッドは呼び出されず、エラーまたは警告は生成されません。

    com.foo.MyClassfoo.appモジュールである場合、例えば、module-info.javaは次のようになります:

    module foo.app {
        opens com.foo to javafx.web;
    }

    あるいは、モジュールがクラスを含むパッケージを無条件にexportsすると、そのクラスに対するリフレクションによるアクセスが可能になります。

    スレッド

    WebEngineオブジェクトは、JavaFXアプリケーション・スレッドからのみ作成およびアクセスする必要があります。 また、このルールは、WebEngineオブジェクトから取得されるすべてのDOMおよびJavaScriptのオブジェクトにも適用されます。

    導入されたバージョン:
    JavaFX 2.0
    • プロパティの詳細

      • document

        public final ReadOnlyObjectProperty<Document> documentProperty
        現在のWebページのドキュメント・オブジェクト。 Webページのロードに失敗した場合、値はnullです。
        関連項目:
        getDocument()
      • location

        public final ReadOnlyStringProperty locationProperty
        現在のWebページのURL。 現在のページにURLがない場合、値は空の文字列です。
        関連項目:
        getLocation()
      • title

        public final ReadOnlyStringProperty titleProperty
        現在のWebページのタイトル。 現在のページにタイトルがない場合、値はnullです。
        関連項目:
        getTitle()
      • userStyleSheetLocation

        public final StringProperty userStyleSheetLocationProperty
        文字列URLとしてのユーザー・スタイルシートの場所。

        これは、ローカルのURL、つまり'data:''file:'または'jar:'にする必要があります。 リモートURLはセキュリティ上の理由で許可されません。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 2.2
        関連項目:
        getUserStyleSheetLocation()setUserStyleSheetLocation(String)
      • userDataDirectory

        public final ObjectProperty<File> userDataDirectoryProperty
        ローカル・ユーザー・データを格納するこのWebEngineで使用するディレクトリを指定します。

        このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データのそれぞれのディレクトリへの格納が試行されます。 このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データの、自動的に選択されたシステム依存のユーザーおよびアプリケーションに固有のディレクトリへの格納が試行されます。

        WebEngineでは、最初のWebページのロードまたはスクリプトの実行を開始しようとするとき、それがこのプロパティで指定されたディレクトリを実際に使用できるかどうかをチェックします。 なんらかの理由でチェックが失敗した場合は、WebEngineによって、理由を示すWebErrorEventとともに(ある場合)、WebEngine.onErrorイベント・ハンドラが起動されます。 起動されたイベント・ハンドラによってuserDataDirectoryプロパティが変更される場合は、ハンドラが戻るとすぐに、WebEngineは新しい値で再試行します。 ハンドラによってuserDataDirectoryプロパティが変更されない(デフォルトである)場合は、WebEngineはローカル・ユーザー・データなしで続行します。

        WebEngineがWebページのロードまたはスクリプトの実行を開始した後は、このプロパティに対して行われた変更が、WebEngineがローカル・ユーザー・データを格納する場所に対して影響を与えることはありません。

        現在は、このプロパティによって指定されたディレクトリは、window.localStorageオブジェクトを補助するデータの格納にのみ使用されます。 今後は、他のデータの型も追加される可能性があります。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 8.0
        関連項目:
        getUserDataDirectory()setUserDataDirectory(File)
      • userAgent

        public final StringProperty userAgentProperty
        ユーザー・エージェントID文字列を指定します。 この文字列は、User-Agent HTTPヘッダーの値です。
        デフォルト値:
        システムによって異なります。
        導入されたバージョン:
        JavaFX 8.0
        関連項目:
        getUserAgent()setUserAgent(String)
      • createPopupHandler

        public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
        JavaScriptポップアップ・ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがポップアップの作成をリクエストしたときに起動されます。

        このリクエストを満たすために、ハンドラによって新しいWebEngineが作成され、表示ハンドラおよびオプションでサイズ変更ハンドラがアタッチされて、新しく作成されたエンジンが返される場合があります。 ポップアップをブロックするには、ハンドラでnullが返される必要があります。

        デフォルトでは、このWebEngineでポップアップを開くポップアップ・ハンドラがインストールされます。

        関連項目:
        getCreatePopupHandler()setCreatePopupHandler(Callback)
      • confirmHandler

        public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
        JavaScript confirmハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがconfirm関数を呼び出したときに起動されます。

        実装では、はいといいえのオプションでユーザーの選択を返すダイアログ・ボックスが表示される場合があります。

        関連項目:
        getConfirmHandler()setConfirmHandler(Callback)
      • promptHandler

        public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
        JavaScript promptハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがprompt関数を呼び出したときに起動されます。

        実装によって、テキスト・フィールドを持つダイアログ・ボックスが表示され、ユーザーの入力が返される場合があります。

        関連項目:
        getPromptHandler()setPromptHandler(Callback)
    • コンストラクタの詳細

      • WebEngine

        public WebEngine()
        新しいエンジンを作成します。
      • WebEngine

        public WebEngine​(String url)
        新しいエンジンを作成して、それにWebページをロードします。
        パラメータ:
        url - ロードするWebページのURL
    • メソッドの詳細

      • getLoadWorker

        public final Worker<Void> getLoadWorker()
        ロード処理の進捗を追跡するために使用できるWorkerオブジェクトを返します。
        戻り値:
        Workerオブジェクト
      • getDocument

        public final Document getDocument()
        プロパティdocumentの値を取得します。
        プロパティの説明:
        現在のWebページのドキュメント・オブジェクト。 Webページのロードに失敗した場合、値はnullです。
      • documentProperty

        public final ReadOnlyObjectProperty<Document> documentProperty()
        現在のWebページのドキュメント・オブジェクト。 Webページのロードに失敗した場合、値はnullです。
        関連項目:
        getDocument()
      • getLocation

        public final String getLocation()
        プロパティlocationの値を取得します。
        プロパティの説明:
        現在のWebページのURL。 現在のページにURLがない場合、値は空の文字列です。
      • locationProperty

        public final ReadOnlyStringProperty locationProperty()
        現在のWebページのURL。 現在のページにURLがない場合、値は空の文字列です。
        関連項目:
        getLocation()
      • getTitle

        public final String getTitle()
        プロパティtitleの値を取得します。
        プロパティの説明:
        現在のWebページのタイトル。 現在のページにタイトルがない場合、値はnullです。
      • titleProperty

        public final ReadOnlyStringProperty titleProperty()
        現在のWebページのタイトル。 現在のページにタイトルがない場合、値はnullです。
        関連項目:
        getTitle()
      • setJavaScriptEnabled

        public final void setJavaScriptEnabled​(boolean value)
        プロパティjavaScriptEnabledの値を設定します。
        プロパティの説明:
        JavaScript実行を有効にするかどうかを指定します。
        デフォルト値:
        true
        導入されたバージョン:
        JavaFX 2.2
      • isJavaScriptEnabled

        public final boolean isJavaScriptEnabled()
        プロパティjavaScriptEnabledの値を取得します。
        プロパティの説明:
        JavaScript実行を有効にするかどうかを指定します。
        デフォルト値:
        true
        導入されたバージョン:
        JavaFX 2.2
      • setUserStyleSheetLocation

        public final void setUserStyleSheetLocation​(String value)
        プロパティuserStyleSheetLocationの値を設定します。
        プロパティの説明:
        文字列URLとしてのユーザー・スタイルシートの場所。

        これは、ローカルのURL、つまり'data:''file:'または'jar:'にする必要があります。 リモートURLはセキュリティ上の理由で許可されません。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 2.2
      • getUserStyleSheetLocation

        public final String getUserStyleSheetLocation()
        プロパティuserStyleSheetLocationの値を取得します。
        プロパティの説明:
        文字列URLとしてのユーザー・スタイルシートの場所。

        これは、ローカルのURL、つまり'data:''file:'または'jar:'にする必要があります。 リモートURLはセキュリティ上の理由で許可されません。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 2.2
      • userStyleSheetLocationProperty

        public final StringProperty userStyleSheetLocationProperty()
        文字列URLとしてのユーザー・スタイルシートの場所。

        これは、ローカルのURL、つまり'data:''file:'または'jar:'にする必要があります。 リモートURLはセキュリティ上の理由で許可されません。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 2.2
        関連項目:
        getUserStyleSheetLocation()setUserStyleSheetLocation(String)
      • getUserDataDirectory

        public final File getUserDataDirectory()
        プロパティuserDataDirectoryの値を取得します。
        プロパティの説明:
        ローカル・ユーザー・データを格納するこのWebEngineで使用するディレクトリを指定します。

        このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データのそれぞれのディレクトリへの格納が試行されます。 このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データの、自動的に選択されたシステム依存のユーザーおよびアプリケーションに固有のディレクトリへの格納が試行されます。

        WebEngineでは、最初のWebページのロードまたはスクリプトの実行を開始しようとするとき、それがこのプロパティで指定されたディレクトリを実際に使用できるかどうかをチェックします。 なんらかの理由でチェックが失敗した場合は、WebEngineによって、理由を示すWebErrorEventとともに(ある場合)、WebEngine.onErrorイベント・ハンドラが起動されます。 起動されたイベント・ハンドラによってuserDataDirectoryプロパティが変更される場合は、ハンドラが戻るとすぐに、WebEngineは新しい値で再試行します。 ハンドラによってuserDataDirectoryプロパティが変更されない(デフォルトである)場合は、WebEngineはローカル・ユーザー・データなしで続行します。

        WebEngineがWebページのロードまたはスクリプトの実行を開始した後は、このプロパティに対して行われた変更が、WebEngineがローカル・ユーザー・データを格納する場所に対して影響を与えることはありません。

        現在は、このプロパティによって指定されたディレクトリは、window.localStorageオブジェクトを補助するデータの格納にのみ使用されます。 今後は、他のデータの型も追加される可能性があります。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 8.0
      • setUserDataDirectory

        public final void setUserDataDirectory​(File value)
        プロパティuserDataDirectoryの値を設定します。
        プロパティの説明:
        ローカル・ユーザー・データを格納するこのWebEngineで使用するディレクトリを指定します。

        このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データのそれぞれのディレクトリへの格納が試行されます。 このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データの、自動的に選択されたシステム依存のユーザーおよびアプリケーションに固有のディレクトリへの格納が試行されます。

        WebEngineでは、最初のWebページのロードまたはスクリプトの実行を開始しようとするとき、それがこのプロパティで指定されたディレクトリを実際に使用できるかどうかをチェックします。 なんらかの理由でチェックが失敗した場合は、WebEngineによって、理由を示すWebErrorEventとともに(ある場合)、WebEngine.onErrorイベント・ハンドラが起動されます。 起動されたイベント・ハンドラによってuserDataDirectoryプロパティが変更される場合は、ハンドラが戻るとすぐに、WebEngineは新しい値で再試行します。 ハンドラによってuserDataDirectoryプロパティが変更されない(デフォルトである)場合は、WebEngineはローカル・ユーザー・データなしで続行します。

        WebEngineがWebページのロードまたはスクリプトの実行を開始した後は、このプロパティに対して行われた変更が、WebEngineがローカル・ユーザー・データを格納する場所に対して影響を与えることはありません。

        現在は、このプロパティによって指定されたディレクトリは、window.localStorageオブジェクトを補助するデータの格納にのみ使用されます。 今後は、他のデータの型も追加される可能性があります。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 8.0
      • userDataDirectoryProperty

        public final ObjectProperty<File> userDataDirectoryProperty()
        ローカル・ユーザー・データを格納するこのWebEngineで使用するディレクトリを指定します。

        このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データのそれぞれのディレクトリへの格納が試行されます。 このプロパティの値がnullではない場合は、WebEngineによって、ローカル・ユーザー・データの、自動的に選択されたシステム依存のユーザーおよびアプリケーションに固有のディレクトリへの格納が試行されます。

        WebEngineでは、最初のWebページのロードまたはスクリプトの実行を開始しようとするとき、それがこのプロパティで指定されたディレクトリを実際に使用できるかどうかをチェックします。 なんらかの理由でチェックが失敗した場合は、WebEngineによって、理由を示すWebErrorEventとともに(ある場合)、WebEngine.onErrorイベント・ハンドラが起動されます。 起動されたイベント・ハンドラによってuserDataDirectoryプロパティが変更される場合は、ハンドラが戻るとすぐに、WebEngineは新しい値で再試行します。 ハンドラによってuserDataDirectoryプロパティが変更されない(デフォルトである)場合は、WebEngineはローカル・ユーザー・データなしで続行します。

        WebEngineがWebページのロードまたはスクリプトの実行を開始した後は、このプロパティに対して行われた変更が、WebEngineがローカル・ユーザー・データを格納する場所に対して影響を与えることはありません。

        現在は、このプロパティによって指定されたディレクトリは、window.localStorageオブジェクトを補助するデータの格納にのみ使用されます。 今後は、他のデータの型も追加される可能性があります。

        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 8.0
        関連項目:
        getUserDataDirectory()setUserDataDirectory(File)
      • setUserAgent

        public final void setUserAgent​(String value)
        プロパティuserAgentの値を設定します。
        プロパティの説明:
        ユーザー・エージェントID文字列を指定します。 この文字列は、User-Agent HTTPヘッダーの値です。
        デフォルト値:
        システムによって異なります。
        導入されたバージョン:
        JavaFX 8.0
      • getUserAgent

        public final String getUserAgent()
        プロパティuserAgentの値を取得します。
        プロパティの説明:
        ユーザー・エージェントID文字列を指定します。 この文字列は、User-Agent HTTPヘッダーの値です。
        デフォルト値:
        システムによって異なります。
        導入されたバージョン:
        JavaFX 8.0
      • userAgentProperty

        public final StringProperty userAgentProperty()
        ユーザー・エージェントID文字列を指定します。 この文字列は、User-Agent HTTPヘッダーの値です。
        デフォルト値:
        システムによって異なります。
        導入されたバージョン:
        JavaFX 8.0
        関連項目:
        getUserAgent()setUserAgent(String)
      • getOnAlert

        public final EventHandler<WebEvent<String>> getOnAlert()
        プロパティonAlertの値を取得します。
        プロパティの説明:
        JavaScript alertハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがalert関数を呼び出したときに起動されます。
      • setOnAlert

        public final void setOnAlert​(EventHandler<WebEvent<String>> handler)
        プロパティonAlertの値を設定します。
        プロパティの説明:
        JavaScript alertハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがalert関数を呼び出したときに起動されます。
      • getOnStatusChanged

        public final EventHandler<WebEvent<String>> getOnStatusChanged()
        プロパティonStatusChangedの値を取得します。
        プロパティの説明:
        JavaScriptステータス・ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがwindow.statusプロパティを設定したときに起動されます。
      • setOnStatusChanged

        public final void setOnStatusChanged​(EventHandler<WebEvent<String>> handler)
        プロパティonStatusChangedの値を設定します。
        プロパティの説明:
        JavaScriptステータス・ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがwindow.statusプロパティを設定したときに起動されます。
      • getOnResized

        public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
        プロパティonResizedの値を取得します。
        プロパティの説明:
        JavaScriptウィンドウのサイズ変更ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがwindowオブジェクトを移動またはサイズ変更したときに起動されます。
      • setOnResized

        public final void setOnResized​(EventHandler<WebEvent<Rectangle2D>> handler)
        プロパティonResizedの値を設定します。
        プロパティの説明:
        JavaScriptウィンドウのサイズ変更ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがwindowオブジェクトを移動またはサイズ変更したときに起動されます。
      • getOnVisibilityChanged

        public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
        プロパティonVisibilityChangedの値を取得します。
        プロパティの説明:
        JavaScriptウィンドウの表示ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがwindowオブジェクトの表示を変更したときに起動されます。
      • setOnVisibilityChanged

        public final void setOnVisibilityChanged​(EventHandler<WebEvent<Boolean>> handler)
        プロパティonVisibilityChangedの値を設定します。
        プロパティの説明:
        JavaScriptウィンドウの表示ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがwindowオブジェクトの表示を変更したときに起動されます。
      • getCreatePopupHandler

        public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
        プロパティcreatePopupHandlerの値を取得します。
        プロパティの説明:
        JavaScriptポップアップ・ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがポップアップの作成をリクエストしたときに起動されます。

        このリクエストを満たすために、ハンドラによって新しいWebEngineが作成され、表示ハンドラおよびオプションでサイズ変更ハンドラがアタッチされて、新しく作成されたエンジンが返される場合があります。 ポップアップをブロックするには、ハンドラでnullが返される必要があります。

        デフォルトでは、このWebEngineでポップアップを開くポップアップ・ハンドラがインストールされます。

      • setCreatePopupHandler

        public final void setCreatePopupHandler​(Callback<PopupFeatures,WebEngine> handler)
        プロパティcreatePopupHandlerの値を設定します。
        プロパティの説明:
        JavaScriptポップアップ・ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがポップアップの作成をリクエストしたときに起動されます。

        このリクエストを満たすために、ハンドラによって新しいWebEngineが作成され、表示ハンドラおよびオプションでサイズ変更ハンドラがアタッチされて、新しく作成されたエンジンが返される場合があります。 ポップアップをブロックするには、ハンドラでnullが返される必要があります。

        デフォルトでは、このWebEngineでポップアップを開くポップアップ・ハンドラがインストールされます。

      • createPopupHandlerProperty

        public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
        JavaScriptポップアップ・ハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがポップアップの作成をリクエストしたときに起動されます。

        このリクエストを満たすために、ハンドラによって新しいWebEngineが作成され、表示ハンドラおよびオプションでサイズ変更ハンドラがアタッチされて、新しく作成されたエンジンが返される場合があります。 ポップアップをブロックするには、ハンドラでnullが返される必要があります。

        デフォルトでは、このWebEngineでポップアップを開くポップアップ・ハンドラがインストールされます。

        関連項目:
        getCreatePopupHandler()setCreatePopupHandler(Callback)
      • getConfirmHandler

        public final Callback<String,Boolean> getConfirmHandler()
        プロパティconfirmHandlerの値を取得します。
        プロパティの説明:
        JavaScript confirmハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがconfirm関数を呼び出したときに起動されます。

        実装では、はいといいえのオプションでユーザーの選択を返すダイアログ・ボックスが表示される場合があります。

      • setConfirmHandler

        public final void setConfirmHandler​(Callback<String,Boolean> handler)
        プロパティconfirmHandlerの値を設定します。
        プロパティの説明:
        JavaScript confirmハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがconfirm関数を呼び出したときに起動されます。

        実装では、はいといいえのオプションでユーザーの選択を返すダイアログ・ボックスが表示される場合があります。

      • confirmHandlerProperty

        public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
        JavaScript confirmハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがconfirm関数を呼び出したときに起動されます。

        実装では、はいといいえのオプションでユーザーの選択を返すダイアログ・ボックスが表示される場合があります。

        関連項目:
        getConfirmHandler()setConfirmHandler(Callback)
      • getPromptHandler

        public final Callback<PromptData,String> getPromptHandler()
        プロパティpromptHandlerの値を取得します。
        プロパティの説明:
        JavaScript promptハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがprompt関数を呼び出したときに起動されます。

        実装によって、テキスト・フィールドを持つダイアログ・ボックスが表示され、ユーザーの入力が返される場合があります。

      • setPromptHandler

        public final void setPromptHandler​(Callback<PromptData,String> handler)
        プロパティpromptHandlerの値を設定します。
        プロパティの説明:
        JavaScript promptハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがprompt関数を呼び出したときに起動されます。

        実装によって、テキスト・フィールドを持つダイアログ・ボックスが表示され、ユーザーの入力が返される場合があります。

      • promptHandlerProperty

        public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
        JavaScript promptハンドラ・プロパティ。 このハンドラは、Webページで実行されているスクリプトがprompt関数を呼び出したときに起動されます。

        実装によって、テキスト・フィールドを持つダイアログ・ボックスが表示され、ユーザーの入力が返される場合があります。

        関連項目:
        getPromptHandler()setPromptHandler(Callback)
      • getOnError

        public final EventHandler<WebErrorEvent> getOnError()
        プロパティonErrorの値を取得します。
        プロパティの説明:
        エラーが発生する場合に呼び出されるイベント・ハンドラ。
        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 8.0
      • setOnError

        public final void setOnError​(EventHandler<WebErrorEvent> handler)
        プロパティonErrorの値を設定します。
        プロパティの説明:
        エラーが発生する場合に呼び出されるイベント・ハンドラ。
        デフォルト値:
        null
        導入されたバージョン:
        JavaFX 8.0
      • load

        public void load​(String url)
        このエンジンにWebページをロードします。 このメソッドは非同期ロードを開始し、即座に戻ります。
        パラメータ:
        url - ロードするWebページのURL
      • loadContent

        public void loadContent​(String content)
        特定のHTMLコンテンツを直接ロードします。 このメソッドは、メモリー内で構成されるHTML文字列や、URL経由で到達できない一部のシステムからロードされるHTML文字列(たとえば、HTMLテキストはデータベースから取得されている場合があります)がある場合に役立ちます。 load(String)と同じように、このメソッドは非同期です。
        パラメータ:
        content - ロードするHTMLコンテンツ
      • loadContent

        public void loadContent​(String content,
                                String contentType)
        特定のコンテンツを直接ロードします。 このメソッドは、メモリー内で構成されるコンテンツや、URL経由で到達できない一部のシステムからロードされるコンテンツ(たとえば、SVGテキストはデータベースから取得されている場合があります)がある場合に役立ちます。 load(String)と同じように、このメソッドは非同期です。 また、このメソッドを使用すると、ロードされる文字列のコンテンツ・タイプを指定できるようになるため、HTMLだけでなく、オプションで他のタイプをサポートできます。
        パラメータ:
        content - ロードするHTMLコンテンツ
        contentType - ロードするコンテンツの型
      • reload

        public void reload()
        URLからロードされたか、いずれかのloadContentメソッドの文字列から直接ロードされたかに関係なく、現在のページをリロードします。
      • getHistory

        public WebHistory getHistory()
        セッション履歴オブジェクトを返します。
        戻り値:
        履歴オブジェクト
        導入されたバージョン:
        JavaFX 2.2
      • executeScript

        public Object executeScript​(String script)
        現在のページのコンテキストでスクリプトを実行します。
        パラメータ:
        script - スクリプト
        戻り値:
        次のルールを使用してJavaオブジェクトに変換される実行結果:
        • JavaScript Int32はjava.lang.Integerに変換されます。
        • 他のJavaScript数値はjava.lang.Double
        • JavaScript文字列はjava.lang.String
        • JavaScriptブールはjava.lang.Boolean
        • JavaScript nullnull
        • 大部分のJavaScriptオブジェクトはnetscape.javascript.JSObjectとしてラップされます。
        • JavaScript JSNodeオブジェクトは、org.w3c.dom.Nodeも実装するnetscape.javascript.JSObjectのインスタンスにマップされます。
        • 特殊なケースとして、JavaScriptクラスJavaRuntimeObjectがあり、これはJavaScriptの値としてJavaオブジェクトをラップするために使用されます。この場合は、元のJava値の抽出のみを行います。
      • print

        public void print​(PrinterJob job)
        指定されたプリンタ・ジョブを使用して、現在のWebページを印刷します。

        このメソッドによってジョブの状態が変更されることや、PrinterJob.endJob()が呼び出されることはないため、後でジョブを安全に再利用できます。

        パラメータ:
        job - 印刷に使用されるプリンタ・ジョブ
        導入されたバージョン:
        JavaFX 8.0