Class WebEngine
public final class WebEngine extends Object
WebEngine is a non-visual object capable of managing one Web page at a time. It loads Web pages, creates their document models, applies styles as necessary, and runs JavaScript on pages. It provides access to the document model of the current page, and enables two-way communication between a Java application and JavaScript code of the page. Loading Web Pages
The WebEngine class provides two ways to load content into a WebEngine object:
- From an arbitrary URL using the
load(java.lang.String)method. This method uses thejava.netpackage for network access and protocol handling. - From an in-memory String using the
loadContent(java.lang.String, java.lang.String)andloadContent(java.lang.String)methods.
Loading always happens on a background thread. Methods that initiate loading return immediately after scheduling a background job. To track progress and/or cancel a job, use the Worker instance available from the getLoadWorker() method.
The following example changes the stage title when loading completes successfully:
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");
User Interface Callbacks
A number of user interface callbacks may be registered with a WebEngine object. These callbacks are invoked when a script running on the page requests a user interface operation to be performed, for example, opens a popup window or changes status text. A WebEngine object cannot handle such requests internally, so it passes the request to the corresponding callbacks. If no callback is defined for a specific operation, the request is silently ignored.
The table below shows JavaScript user interface methods and properties with their corresponding WebEngine callbacks:
| JavaScript method/property | WebEngine callback |
|---|---|
window.alert() |
onAlert |
window.confirm() |
confirmHandler |
window.open() |
createPopupHandler |
window.open() andwindow.close()
|
onVisibilityChanged |
window.prompt() |
promptHandler |
Setting window.status
|
onStatusChanged |
Setting any of the following:window.innerWidth, window.innerHeight,window.outerWidth, window.outerHeight,window.screenX, window.screenY,window.screenLeft, window.screenTop
| onResized |
The following example shows a callback that resizes a browser window:
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());
}
});
Access to Document Model
The WebEngine objects create and manage a Document Object Model (DOM) for their Web pages. The model can be accessed and modified using Java DOM Core classes. The getDocument() method provides access to the root of the model. Additionally DOM Event specification is supported to define event handlers in Java code.
The following example attaches a Java event listener to an element of a Web page. Clicking on the element causes the application to exit:
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);
Evaluating JavaScript expressions
It is possible to execute arbitrary JavaScript code in the context of the current page using the executeScript(java.lang.String) method. For example:
webEngine.executeScript("history.back()");
The execution result is returned to the caller, as described in the next section.
Mapping JavaScript values to Java objects
JavaScript values are represented using the obvious Java classes: null becomes Java null; a boolean becomes ajava.lang.Boolean; and a string becomes a java.lang.String. A number can be java.lang.Double or a java.lang.Integer, depending. The undefined value maps to a specific unique String object whose value is "undefined". If the result is a JavaScript object, it is wrapped as an instance of the JSObject class. (As a special case, if the JavaScript object is a JavaRuntimeObject as discussed in the next section, then the original Java object is extracted instead.) The JSObject class is a proxy that provides access to methods and properties of its underlying JavaScript object. The most commonly used JSObject methods are getMember (to read a named property), setMember (to set or define a property), and call (to call a function-valued property).
A DOM Node is mapped to an object that both extends JSObject and implements the appropriate DOM interfaces. To get a JSObject object for a Node just do a cast:
JSObject jdoc = (JSObject) webEngine.getDocument();
In some cases the context provides a specific Java type that guides the conversion. For example if setting a Java String field from a JavaScript expression, then the JavaScript value is converted to a string.
Mapping Java objects to JavaScript values
The arguments of theJSObject methods setMember and call pass Java objects to the JavaScript environment. This is roughly the inverse of the JavaScript-to-Java mapping described above: Java String, Number, or Boolean objects are converted to the obvious JavaScript values. A JSObject object is converted to the original wrapped JavaScript object. Otherwise a JavaRuntimeObject is created. This is a JavaScript object that acts as a proxy for the Java object, in that accessing properties of the JavaRuntimeObject causes the Java field or method with the same name to be accessed. Note that the Java objects bound using JSObject.setMember, JSObject.setSlot, and JSObject.call are implemented using weak references. This means that the Java object can be garbage collected, causing subsequent accesses to the JavaScript objects to have no effect.
Calling back to Java from JavaScript
The JSObject.setMember method is useful to enable upcalls from JavaScript into Java code, as illustrated by the following example. The Java code establishes a new JavaScript object named app. This object has one public member, the method exit.
public class JavaApplication {
public void exit() {
Platform.exit();
}
}
...
JavaApplication javaApp = new JavaApplication();
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", javaApp);
You can then refer to the object and the method from your HTML page:
<a href="" onclick="app.exit()">Click here to exit application</a>
When a user clicks the link the application is closed.
Note that in the above example, the application holds a reference to the JavaApplication instance. This is required for the callback from JavaScript to execute the desired method.
In the following example, the application does not hold a reference to the Java object:
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", new JavaApplication());
In this case, since the property value is a local object, "new JavaApplication()", the value may be garbage collected in next GC cycle.
When a user clicks the link, it does not guarantee to execute the callback method exit.
If there are multiple Java methods with the given name, then the engine selects one matching the number of parameters in the call. (Varargs are not handled.) An unspecified one is chosen if there are multiple ones with the correct number of parameters.
You can pick a specific overloaded method by listing the parameter types in an "extended method name", which has the form "method_name(param_type1,...,param_typen)". Typically you'd write the JavaScript expression:
receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)
The Java class and method must both be declared public.
Deploying an Application as a Module
If any Java class passed to JavaScript is in a named module, then it must be reflectively accessible to the javafx.web module. A class is reflectively accessible if the module opens the containing package to at least the javafx.web module. Otherwise, the method will not be called, and no error or warning will be produced.
For example, if com.foo.MyClass is in the foo.app module, the module-info.java might look like this:
module foo.app {
opens com.foo to javafx.web;
} Alternatively, a class is reflectively accessible if the module exports the containing package unconditionally.
Starting with JavaFX 14, HTTP/2 support has been added to WebEngine. This is achieved by using HttpClient instead of URLConnection. HTTP/2 is activated by default when JavaFX 14 (or later) is used with JDK 12 (or later).
Threading
WebEngine objects must be created and accessed solely from the JavaFX Application thread. This rule also applies to any DOM and JavaScript objects obtained from the WebEngine object.
- Since:
- JavaFX 2.0
Property Summary
| Type | Property | Description |
|---|---|---|
final ObjectProperty<Callback<String, |
confirmHandler |
JavaScript confirm handler property. |
final ObjectProperty<Callback<PopupFeatures, |
createPopupHandler |
JavaScript popup handler property. |
final ReadOnlyObjectProperty<Document> |
document |
Document object for the current Web page. |
final BooleanProperty |
javaScriptEnabled |
Specifies whether JavaScript execution is enabled. |
final ReadOnlyStringProperty |
location |
URL of the current Web page. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onAlert |
JavaScript alert handler property. |
final ObjectProperty<EventHandler<WebErrorEvent>> |
onError |
The event handler called when an error occurs. |
final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> |
onResized |
JavaScript window resize handler property. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onStatusChanged |
JavaScript status handler property. |
final ObjectProperty<EventHandler<WebEvent<Boolean>>> |
onVisibilityChanged |
JavaScript window visibility handler property. |
final ObjectProperty<Callback<PromptData, |
promptHandler |
JavaScript prompt handler property. |
final ReadOnlyStringProperty |
title |
Title of the current Web page. |
final StringProperty |
userAgent |
Specifies user agent ID string. |
final ObjectProperty<File> |
userDataDirectory |
Specifies the directory to be used by this WebEngine to store local user data. |
final StringProperty |
userStyleSheetLocation |
Location of the user stylesheet as a string URL. |
Constructor Summary
| Constructor | Description |
|---|---|
WebEngine() |
Creates a new engine. |
WebEngine |
Creates a new engine and loads a Web page into it. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
final ObjectProperty<Callback<String, |
confirmHandlerProperty() |
JavaScript confirm handler property. |
final ObjectProperty<Callback<PopupFeatures, |
createPopupHandlerProperty() |
JavaScript popup handler property. |
final ReadOnlyObjectProperty<Document> |
documentProperty() |
Document object for the current Web page. |
Object |
executeScript |
Executes a script in the context of the current page. |
final Callback<String, |
getConfirmHandler() |
Gets the value of the confirmHandler property. |
final Callback<PopupFeatures, |
getCreatePopupHandler() |
Gets the value of the createPopupHandler property. |
final Document |
getDocument() |
Gets the value of the document property. |
WebHistory |
getHistory() |
Returns the session history object. |
final Worker<Void> |
getLoadWorker() |
Returns a Worker object that can be used to track loading progress. |
final String |
getLocation() |
Gets the value of the location property. |
final EventHandler<WebEvent<String>> |
getOnAlert() |
Gets the value of the onAlert property. |
final EventHandler<WebErrorEvent> |
getOnError() |
Gets the value of the onError property. |
final EventHandler<WebEvent<Rectangle2D>> |
getOnResized() |
Gets the value of the onResized property. |
final EventHandler<WebEvent<String>> |
getOnStatusChanged() |
Gets the value of the onStatusChanged property. |
final EventHandler<WebEvent<Boolean>> |
getOnVisibilityChanged() |
Gets the value of the onVisibilityChanged property. |
final Callback<PromptData, |
getPromptHandler() |
Gets the value of the promptHandler property. |
final String |
getTitle() |
Gets the value of the title property. |
final String |
getUserAgent() |
Gets the value of the userAgent property. |
final File |
getUserDataDirectory() |
Gets the value of the userDataDirectory property. |
final String |
getUserStyleSheetLocation() |
Gets the value of the userStyleSheetLocation property. |
final boolean |
isJavaScriptEnabled() |
Gets the value of the javaScriptEnabled property. |
final BooleanProperty |
javaScriptEnabledProperty() |
Specifies whether JavaScript execution is enabled. |
void |
load |
Loads a Web page into this engine. |
void |
loadContent |
Loads the given HTML content directly. |
void |
loadContent |
Loads the given content directly. |
final ReadOnlyStringProperty |
locationProperty() |
URL of the current Web page. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onAlertProperty() |
JavaScript alert handler property. |
final ObjectProperty<EventHandler<WebErrorEvent>> |
onErrorProperty() |
The event handler called when an error occurs. |
final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> |
onResizedProperty() |
JavaScript window resize handler property. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onStatusChangedProperty() |
JavaScript status handler property. |
final ObjectProperty<EventHandler<WebEvent<Boolean>>> |
onVisibilityChangedProperty() |
JavaScript window visibility handler property. |
void |
print |
Prints the current Web page using the given printer job. |
final ObjectProperty<Callback<PromptData, |
promptHandlerProperty() |
JavaScript prompt handler property. |
void |
reload() |
Reloads the current page, whether loaded from URL or directly from a String in one of the loadContent methods. |
final void |
setConfirmHandler |
Sets the value of the confirmHandler property. |
final void |
setCreatePopupHandler |
Sets the value of the createPopupHandler property. |
final void |
setJavaScriptEnabled |
Sets the value of the javaScriptEnabled property. |
final void |
setOnAlert |
Sets the value of the onAlert property. |
final void |
setOnError |
Sets the value of the onError property. |
final void |
setOnResized |
Sets the value of the onResized property. |
final void |
setOnStatusChanged |
Sets the value of the onStatusChanged property. |
final void |
setOnVisibilityChanged |
Sets the value of the onVisibilityChanged property. |
final void |
setPromptHandler |
Sets the value of the promptHandler property. |
final void |
setUserAgent |
Sets the value of the userAgent property. |
final void |
setUserDataDirectory |
Sets the value of the userDataDirectory property. |
final void |
setUserStyleSheetLocation |
Sets the value of the userStyleSheetLocation property. |
final ReadOnlyStringProperty |
titleProperty() |
Title of the current Web page. |
final StringProperty |
userAgentProperty() |
Specifies user agent ID string. |
final ObjectProperty<File> |
userDataDirectoryProperty() |
Specifies the directory to be used by this WebEngine to store local user data. |
final StringProperty |
userStyleSheetLocationProperty() |
Location of the user stylesheet as a string URL. |
Property Details
document
public final ReadOnlyObjectProperty<Document> documentProperty
null if the Web page failed to load.- See Also:
location
public final ReadOnlyStringProperty locationProperty
- See Also:
title
public final ReadOnlyStringProperty titleProperty
null. This property will be updated asynchronously some time after the page is loaded. Applications should not rely on any particular timing, but should listen for changes to this property, or bind to it, to know when it has been updated.- See Also:
javaScriptEnabled
public final BooleanProperty javaScriptEnabledProperty
- Default value:
- true
- Since:
- JavaFX 2.2
- See Also:
userStyleSheetLocation
public final StringProperty userStyleSheetLocationProperty
This should be a local URL, i.e. either 'data:', 'file:', 'jar:', or 'jrt:'. Remote URLs are not allowed for security reasons.
- Default value:
- null
- Since:
- JavaFX 2.2
- See Also:
userDataDirectory
public final ObjectProperty<File> userDataDirectoryProperty
WebEngine to store local user data. If the value of this property is not null, the WebEngine will attempt to store local user data in the respective directory. If the value of this property is null, the WebEngine will attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.
When a WebEngine is about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, the WebEngine invokes the WebEngine.onError event handler, if any, with a WebErrorEvent describing the reason. If the invoked event handler modifies the userDataDirectory property, the WebEngine retries with the new value as soon as the handler returns. If the handler does not modify the userDataDirectory property (which is the default), the WebEngine continues without local user data.
Once the WebEngine has started loading a web page or executing a script, changes made to this property have no effect on where the WebEngine stores or will store local user data.
Currently, the directory specified by this property is used only to store the data that backs the window.localStorage objects. In the future, more types of data can be added.
- Default value:
null- Since:
- JavaFX 8.0
- See Also:
userAgent
public final StringProperty userAgentProperty
User-Agent HTTP header.- Default value:
- system dependent
- Since:
- JavaFX 8.0
- See Also:
onAlert
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
alert handler property. This handler is invoked when a script running on the Web page calls the alert function.onStatusChanged
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
window.status property.onResized
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
window object.onVisibilityChanged
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
window object.createPopupHandler
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
To satisfy this request a handler may create a new WebEngine, attach a visibility handler and optionally a resize handler, and return the newly created engine. To block the popup, a handler should return null.
By default, a popup handler is installed that opens popups in this WebEngine.
confirmHandler
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
confirm handler property. This handler is invoked when a script running on the Web page calls the confirm function. An implementation may display a dialog box with Yes and No options, and return the user's choice.
promptHandler
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
prompt handler property. This handler is invoked when a script running on the Web page calls the prompt function. An implementation may display a dialog box with an text field, and return the user's input.
onError
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
- Default value:
null- Since:
- JavaFX 8.0
- See Also:
Constructor Details
WebEngine
public WebEngine()
WebEngine
public WebEngine(String url)
- Parameters:
-
url- the URL of the web page to load
Method Details
getLoadWorker
public final Worker<Void> getLoadWorker()
Worker object that can be used to track loading progress.- Returns:
- the
Workerobject
getDocument
public final Document getDocument()
document property.- Property description:
- Document object for the current Web page. The value is
nullif the Web page failed to load. - Returns:
- the value of the
documentproperty - See Also:
documentProperty
public final ReadOnlyObjectProperty<Document> documentProperty()
null if the Web page failed to load.- Returns:
- the document property
- See Also:
getLocation
public final String getLocation()
location property.- Property description:
- URL of the current Web page. If the current page has no URL, the value is an empty String.
- Returns:
- the value of the
locationproperty - See Also:
locationProperty
public final ReadOnlyStringProperty locationProperty()
- Returns:
- the location property
- See Also:
getTitle
public final String getTitle()
title property.- Property description:
- Title of the current Web page. If the current page has no title, the value is
null. This property will be updated asynchronously some time after the page is loaded. Applications should not rely on any particular timing, but should listen for changes to this property, or bind to it, to know when it has been updated. - Returns:
- the value of the
titleproperty - See Also:
titleProperty
public final ReadOnlyStringProperty titleProperty()
null. This property will be updated asynchronously some time after the page is loaded. Applications should not rely on any particular timing, but should listen for changes to this property, or bind to it, to know when it has been updated.- Returns:
- the title property
- See Also:
setJavaScriptEnabled
public final void setJavaScriptEnabled(boolean value)
javaScriptEnabled property.- Property description:
- Specifies whether JavaScript execution is enabled.
- Default value:
- true
- Parameters:
-
value- the value for thejavaScriptEnabledproperty - Since:
- JavaFX 2.2
- See Also:
isJavaScriptEnabled
public final boolean isJavaScriptEnabled()
javaScriptEnabled property.- Property description:
- Specifies whether JavaScript execution is enabled.
- Default value:
- true
- Returns:
- the value of the
javaScriptEnabledproperty - Since:
- JavaFX 2.2
- See Also:
javaScriptEnabledProperty
public final BooleanProperty javaScriptEnabledProperty()
- Default value:
- true
- Returns:
- the
javaScriptEnabledproperty - Since:
- JavaFX 2.2
- See Also:
setUserStyleSheetLocation
public final void setUserStyleSheetLocation(String value)
userStyleSheetLocation property.- Property description:
- Location of the user stylesheet as a string URL.
This should be a local URL, i.e. either
'data:','file:','jar:', or'jrt:'. Remote URLs are not allowed for security reasons. - Default value:
- null
- Parameters:
-
value- the value for theuserStyleSheetLocationproperty - Since:
- JavaFX 2.2
- See Also:
getUserStyleSheetLocation
public final String getUserStyleSheetLocation()
userStyleSheetLocation property.- Property description:
- Location of the user stylesheet as a string URL.
This should be a local URL, i.e. either
'data:','file:','jar:', or'jrt:'. Remote URLs are not allowed for security reasons. - Default value:
- null
- Returns:
- the value of the
userStyleSheetLocationproperty - Since:
- JavaFX 2.2
- See Also:
userStyleSheetLocationProperty
public final StringProperty userStyleSheetLocationProperty()
This should be a local URL, i.e. either 'data:', 'file:', 'jar:', or 'jrt:'. Remote URLs are not allowed for security reasons.
- Default value:
- null
- Returns:
- the
userStyleSheetLocationproperty - Since:
- JavaFX 2.2
- See Also:
getUserDataDirectory
public final File getUserDataDirectory()
userDataDirectory property.- Property description:
- Specifies the directory to be used by this
WebEngineto store local user data.If the value of this property is not
null, theWebEnginewill attempt to store local user data in the respective directory. If the value of this property isnull, theWebEnginewill attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.When a
WebEngineis about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, theWebEngineinvokes theWebEngine.onErrorevent handler, if any, with aWebErrorEventdescribing the reason. If the invoked event handler modifies theuserDataDirectoryproperty, theWebEngineretries with the new value as soon as the handler returns. If the handler does not modify theuserDataDirectoryproperty (which is the default), theWebEnginecontinues without local user data.Once the
WebEnginehas started loading a web page or executing a script, changes made to this property have no effect on where theWebEnginestores or will store local user data.Currently, the directory specified by this property is used only to store the data that backs the
window.localStorageobjects. In the future, more types of data can be added. - Default value:
null- Returns:
- the value of the
userDataDirectoryproperty - Since:
- JavaFX 8.0
- See Also:
setUserDataDirectory
public final void setUserDataDirectory(File value)
userDataDirectory property.- Property description:
- Specifies the directory to be used by this
WebEngineto store local user data.If the value of this property is not
null, theWebEnginewill attempt to store local user data in the respective directory. If the value of this property isnull, theWebEnginewill attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.When a
WebEngineis about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, theWebEngineinvokes theWebEngine.onErrorevent handler, if any, with aWebErrorEventdescribing the reason. If the invoked event handler modifies theuserDataDirectoryproperty, theWebEngineretries with the new value as soon as the handler returns. If the handler does not modify theuserDataDirectoryproperty (which is the default), theWebEnginecontinues without local user data.Once the
WebEnginehas started loading a web page or executing a script, changes made to this property have no effect on where theWebEnginestores or will store local user data.Currently, the directory specified by this property is used only to store the data that backs the
window.localStorageobjects. In the future, more types of data can be added. - Default value:
null- Parameters:
-
value- the value for theuserDataDirectoryproperty - Since:
- JavaFX 8.0
- See Also:
userDataDirectoryProperty
public final ObjectProperty<File> userDataDirectoryProperty()
WebEngine to store local user data. If the value of this property is not null, the WebEngine will attempt to store local user data in the respective directory. If the value of this property is null, the WebEngine will attempt to store local user data in an automatically selected system-dependent user- and application-specific directory.
When a WebEngine is about to start loading a web page or executing a script for the first time, it checks whether it can actually use the directory specified by this property. If the check fails for some reason, the WebEngine invokes the WebEngine.onError event handler, if any, with a WebErrorEvent describing the reason. If the invoked event handler modifies the userDataDirectory property, the WebEngine retries with the new value as soon as the handler returns. If the handler does not modify the userDataDirectory property (which is the default), the WebEngine continues without local user data.
Once the WebEngine has started loading a web page or executing a script, changes made to this property have no effect on where the WebEngine stores or will store local user data.
Currently, the directory specified by this property is used only to store the data that backs the window.localStorage objects. In the future, more types of data can be added.
- Default value:
null- Returns:
- the
userDataDirectoryproperty - Since:
- JavaFX 8.0
- See Also:
setUserAgent
public final void setUserAgent(String value)
userAgent property.- Property description:
- Specifies user agent ID string. This string is the value of the
User-AgentHTTP header. - Default value:
- system dependent
- Parameters:
-
value- the value for theuserAgentproperty - Since:
- JavaFX 8.0
- See Also:
getUserAgent
public final String getUserAgent()
userAgent property.- Property description:
- Specifies user agent ID string. This string is the value of the
User-AgentHTTP header. - Default value:
- system dependent
- Returns:
- the value of the
userAgentproperty - Since:
- JavaFX 8.0
- See Also:
userAgentProperty
public final StringProperty userAgentProperty()
User-Agent HTTP header.- Default value:
- system dependent
- Returns:
- the
userAgentproperty - Since:
- JavaFX 8.0
- See Also:
getOnAlert
public final EventHandler<WebEvent<String>> getOnAlert()
onAlert property.- Property description:
- JavaScript
alerthandler property. This handler is invoked when a script running on the Web page calls thealertfunction. - Returns:
- the value of the
onAlertproperty - See Also:
setOnAlert
public final void setOnAlert(EventHandler<WebEvent<String>> handler)
onAlert property.- Property description:
- JavaScript
alerthandler property. This handler is invoked when a script running on the Web page calls thealertfunction. - Parameters:
-
handler- the value for theonAlertproperty - See Also:
onAlertProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
alert handler property. This handler is invoked when a script running on the Web page calls the alert function.- Returns:
- the onAlert property
- See Also:
getOnStatusChanged
public final EventHandler<WebEvent<String>> getOnStatusChanged()
onStatusChanged property.- Property description:
- JavaScript status handler property. This handler is invoked when a script running on the Web page sets
window.statusproperty. - Returns:
- the value of the
onStatusChangedproperty - See Also:
setOnStatusChanged
public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
onStatusChanged property.- Property description:
- JavaScript status handler property. This handler is invoked when a script running on the Web page sets
window.statusproperty. - Parameters:
-
handler- the value for theonStatusChangedproperty - See Also:
onStatusChangedProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
window.status property.- Returns:
- the onStatusChanged property
- See Also:
getOnResized
public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
onResized property.- Property description:
- JavaScript window resize handler property. This handler is invoked when a script running on the Web page moves or resizes the
windowobject. - Returns:
- the value of the
onResizedproperty - See Also:
setOnResized
public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
onResized property.- Property description:
- JavaScript window resize handler property. This handler is invoked when a script running on the Web page moves or resizes the
windowobject. - Parameters:
-
handler- the value for theonResizedproperty - See Also:
onResizedProperty
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
window object.- Returns:
- the onResized property
- See Also:
getOnVisibilityChanged
public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
onVisibilityChanged property.- Property description:
- JavaScript window visibility handler property. This handler is invoked when a script running on the Web page changes visibility of the
windowobject. - Returns:
- the value of the
onVisibilityChangedproperty - See Also:
setOnVisibilityChanged
public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
onVisibilityChanged property.- Property description:
- JavaScript window visibility handler property. This handler is invoked when a script running on the Web page changes visibility of the
windowobject. - Parameters:
-
handler- the value for theonVisibilityChangedproperty - See Also:
onVisibilityChangedProperty
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
window object.- Returns:
- the onVisibilityChanged property
- See Also:
getCreatePopupHandler
public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
createPopupHandler property.- Property description:
- JavaScript popup handler property. This handler is invoked when a script running on the Web page requests a popup to be created.
To satisfy this request a handler may create a new
WebEngine, attach a visibility handler and optionally a resize handler, and return the newly created engine. To block the popup, a handler should returnnull.By default, a popup handler is installed that opens popups in this
WebEngine. - Returns:
- the value of the
createPopupHandlerproperty - See Also:
setCreatePopupHandler
public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
createPopupHandler property.- Property description:
- JavaScript popup handler property. This handler is invoked when a script running on the Web page requests a popup to be created.
To satisfy this request a handler may create a new
WebEngine, attach a visibility handler and optionally a resize handler, and return the newly created engine. To block the popup, a handler should returnnull.By default, a popup handler is installed that opens popups in this
WebEngine. - Parameters:
-
handler- the value for thecreatePopupHandlerproperty - See Also:
createPopupHandlerProperty
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
To satisfy this request a handler may create a new WebEngine, attach a visibility handler and optionally a resize handler, and return the newly created engine. To block the popup, a handler should return null.
By default, a popup handler is installed that opens popups in this WebEngine.
- Returns:
- the createPopupHandler property
- See Also:
getConfirmHandler
public final Callback<String,Boolean> getConfirmHandler()
confirmHandler property.- Property description:
- JavaScript
confirmhandler property. This handler is invoked when a script running on the Web page calls theconfirmfunction.An implementation may display a dialog box with Yes and No options, and return the user's choice.
- Returns:
- the value of the
confirmHandlerproperty - See Also:
setConfirmHandler
public final void setConfirmHandler(Callback<String,Boolean> handler)
confirmHandler property.- Property description:
- JavaScript
confirmhandler property. This handler is invoked when a script running on the Web page calls theconfirmfunction.An implementation may display a dialog box with Yes and No options, and return the user's choice.
- Parameters:
-
handler- the value for theconfirmHandlerproperty - See Also:
confirmHandlerProperty
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
confirm handler property. This handler is invoked when a script running on the Web page calls the confirm function. An implementation may display a dialog box with Yes and No options, and return the user's choice.
- Returns:
- the confirmHandler property
- See Also:
getPromptHandler
public final Callback<PromptData,String> getPromptHandler()
promptHandler property.- Property description:
- JavaScript
prompthandler property. This handler is invoked when a script running on the Web page calls thepromptfunction.An implementation may display a dialog box with an text field, and return the user's input.
- Returns:
- the value of the
promptHandlerproperty - See Also:
setPromptHandler
public final void setPromptHandler(Callback<PromptData,String> handler)
promptHandler property.- Property description:
- JavaScript
prompthandler property. This handler is invoked when a script running on the Web page calls thepromptfunction.An implementation may display a dialog box with an text field, and return the user's input.
- Parameters:
-
handler- the value for thepromptHandlerproperty - See Also:
promptHandlerProperty
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
prompt handler property. This handler is invoked when a script running on the Web page calls the prompt function. An implementation may display a dialog box with an text field, and return the user's input.
- Returns:
- the promptHandler property
- See Also:
getOnError
public final EventHandler<WebErrorEvent> getOnError()
onError property.- Property description:
- The event handler called when an error occurs.
- Default value:
null- Returns:
- the value of the
onErrorproperty - Since:
- JavaFX 8.0
- See Also:
setOnError
public final void setOnError(EventHandler<WebErrorEvent> handler)
onError property.- Property description:
- The event handler called when an error occurs.
- Default value:
null- Parameters:
-
handler- the value for theonErrorproperty - Since:
- JavaFX 8.0
- See Also:
onErrorProperty
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
- Default value:
null- Returns:
- the
onErrorproperty - Since:
- JavaFX 8.0
- See Also:
load
public void load(String url)
- Parameters:
-
url- URL of the web page to load
loadContent
public void loadContent(String content)
load(String), this method is asynchronous.- Parameters:
-
content- the HTML content to load
loadContent
public void loadContent(String content, String contentType)
load(String), this method is asynchronous. This method also allows you to specify the content type of the string being loaded, and so may optionally support other types besides just HTML.- Parameters:
-
content- the HTML content to load -
contentType- the type of content to load
reload
public void reload()
loadContent methods.getHistory
public WebHistory getHistory()
- Returns:
- history object
- Since:
- JavaFX 2.2
executeScript
public Object executeScript(String script)
- Parameters:
-
script- the script - Returns:
- execution result, converted to a Java object using the following rules:
- JavaScript Int32 is converted to
java.lang.Integer - Other JavaScript numbers to
java.lang.Double - JavaScript string to
java.lang.String - JavaScript boolean to
java.lang.Boolean - JavaScript
nulltonull - Most JavaScript objects get wrapped as
netscape.javascript.JSObject - JavaScript JSNode objects get mapped to instances of
netscape.javascript.JSObject, that also implementorg.w3c.dom.Node - A special case is the JavaScript class
JavaRuntimeObjectwhich is used to wrap a Java object as a JavaScript value - in this case we just extract the original Java value.
- JavaScript Int32 is converted to
public void print(PrinterJob job)
This method does not modify the state of the job, nor does it call PrinterJob.endJob(), so the job may be safely reused afterwards.
- Parameters:
-
job- printer job used for printing - Since:
- JavaFX 8.0
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.