Класс WebEngine
public final class WebEngine
extends Object WebEngine — это невизуальный объект, способный управлять одной веб-страницей за раз. Он загружает веб-страницы, создаёт их модели документов, применяет стили по необходимости и выполняет JavaScript на страницах. Он предоставляет доступ к модели документа текущей страницы и обеспечивает двустороннюю коммуникацию между Java-приложением и JavaScript-кодом страницы. Загрузка веб-страниц
Класс WebEngine предоставляет два способа загрузки содержимого в объект WebEngine:
- Из произвольного URL с помощью метода
load(java.lang.String). Этот метод использует пакетjava.netдля сетевого доступа и обработки протоколов. - Из строковой переменной в памяти с помощью методов
loadContent(java.lang.String, java.lang.String)иloadContent(java.lang.String).
Загрузка всегда происходит в фоновом потоке. Методы, которые инициируют загрузку, возвращают значение сразу после планирования фоновой задачи. Чтобы отслеживать прогресс и/или отменять задачу, используйте экземпляр Worker, доступный из метода getLoadWorker().
Следующий пример изменяет заголовок окна при успешной загрузке:
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-метод/свойство | Обратный вызов WebEngine |
|---|---|
window.alert() |
onAlert |
window.confirm() |
confirmHandler |
window.open() |
createPopupHandler |
window.open() иwindow.close()
|
onVisibilityChanged |
window.prompt() |
promptHandler |
Установка window.status
|
onStatusChanged |
Установка любого из следующих:window.innerWidth, window.innerHeight,window.outerWidth, window.outerHeight,window.screenX, window.screenY,window.screenLeft, window.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 создают и управляют моделью объекта документа (DOM) для своих веб-страниц. Модель можно получить и изменить с помощью классов Java DOM Core. Метод getDocument() предоставляет доступ к корню модели. Кроме того, поддерживается спецификация событий DOM для определения обработчиков событий в коде Java.
Следующий пример добавляет обработчик событий Java к элементу веб-страницы. Щелчок по элементу приводит к завершению работы приложения:
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-выражений
Можно выполнить произвольный JavaScript-код в контексте текущей страницы, используя метод executeScript(java.lang.String). Например:
webEngine.executeScript("history.back()");
Результат выполнения возвращается вызывающей стороне, как описано в следующем разделе.
Сопоставление JavaScript-значений с Java-объектами
JavaScript-значения представлены с помощью очевидных Java-классов: null соответствует Java null; boolean — Java boolean; и строка — Java String. Число может бытьjava.lang.Double или java.lang.Integer, в зависимости от ситуации. Значение undefined сопоставляется со специфическим уникальным строковым объектом, значение которого — "undefined". Если результатом является JavaScript-объект, он упаковывается как экземпляр класса JSObject. (В качестве специального случая, если JavaScript-объект является JavaRuntimeObject, как обсуждается в следующем разделе, то вместо него извлекается исходный Java-объект.) Класс JSObject — это прокси, предоставляющий доступ к методам и свойствам его базового JavaScript-объекта. Наиболее часто используемые методы JSObject — getMember (чтение именованного свойства), setMember (установка или определение свойства) и call (вызов функции-свойства).
Объект DOM Node сопоставляется с объектом, который расширяет JSObject и реализует соответствующие интерфейсы DOM. Чтобы получить объект JSObject для Node, просто выполните приведение типов:
JSObject jdoc = (JSObject) webEngine.getDocument();
В некоторых случаях контекст предоставляет определённый Java-тип, который направляет преобразование. Например, при установке поля Java String из JavaScript-выражения, JavaScript-значение преобразуется в строку.
Сопоставление Java-объектов с JavaScript-значениями
Аргументы методовJSObject, setMember и call передают Java-объекты в JavaScript-среду. Это примерно обратное сопоставлению JavaScript-значений с Java-объектами, описанному выше: Java-объекты типа String, Number или Boolean преобразуются в очевидные JavaScript-значения. Объект JSObject преобразуется в исходный обернутый JavaScript-объект. В противном случае создаётся объект JavaRuntimeObject. Это JavaScript-объект, который действует как прокси для Java-объекта, так что обращение к свойствам JavaRuntimeObject вызывает обращение к Java-полю или методу с тем же именем. Обратите внимание, что Java-объекты, связанные с помощью JSObject.setMember, JSObject.setSlot и JSObject.call, реализуются с использованием слабых ссылок. Это означает, что Java-объект может быть удалён сборщиком мусора, что приводит к отсутствию эффекта последующих обращений к JavaScript-объектам.
Вызов Java из JavaScript
Метод JSObject.setMember полезен для обеспечения вызовов из JavaScript в Java-код, как показано в следующем примере. Java-код создаёт новый JavaScript-объект с именем app. Этот объект имеет один открытый член — метод 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()", значение может быть удалено сборщиком мусора в следующем цикле.
При нажатии на ссылку нет гарантии выполнения обратного вызова-метода exit.
Если существует несколько Java-методов с заданным именем, движок выбирает один, соответствующий числу параметров в вызове. (Аргументы varargs не обрабатываются.) Неопределённый выбирается, если существует несколько с правильным числом параметров.
Вы можете выбрать определённый перегруженный метод, указав типы параметров в "расширенном имени метода", имеющем вид "method_name(param_type1,...,param_typen)". Обычно вы запишите JavaScript-выражение:
receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)
Класс и метод Java должны быть объявлены как public.
Развёртывание приложения как модуля
Если любой Java-класс, переданный JavaScript, находится в именованном модуле, он должен быть доступен через рефлексию модулю javafx.web. Класс доступен через рефлексию, если модуль opens содержащий пакет, по крайней мере, для модуля javafx.web. В противном случае метод не будет вызван, и не будет выдано никаких ошибок или предупреждений.
Например, если com.foo.MyClass находится в модуле foo.app, то module-info.java может выглядеть так:
module foo.app {
opens com.foo to javafx.web;
} В качестве альтернативы, класс доступен через рефлексию, если модуль exports содержащий пакет безусловно.
Начиная с JavaFX 14, поддержка HTTP/2 была добавлена в WebEngine. Это достигается за счёт использования HttpClient вместо URLConnection. HTTP/2 активируется по умолчанию, когда JavaFX 14 (или более поздняя версия) используется с JDK 12 (или более поздней версией).
Потоки
WebEngine объекты должны создаваться и использоваться только из потока JavaFX Application. Это правило также относится к любым объектам DOM и JavaScript, полученным из WebEngine объекта.
- Since:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
ObjectProperty<Callback<String,Boolean>> | confirmHandler | Свойство обработчика JavaScript confirm. |
ObjectProperty<Callback<PopupFeatures,WebEngine>> | createPopupHandler | Свойство обработчика всплывающих окон JavaScript. |
ReadOnlyObjectProperty<Document> | document | Объект документа текущей веб-страницы. |
BooleanProperty | javaScriptEnabled | Указывает, разрешено ли выполнение JavaScript. |
ReadOnlyStringProperty | location | URL текущей веб-страницы. |
ObjectProperty<EventHandler<WebEvent<String>>> | onAlert | Свойство обработчика JavaScript alert. |
ObjectProperty<EventHandler<WebErrorEvent>> | onError | Обработчик событий, вызываемый при возникновении ошибки. |
ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> | onResized | Свойство обработчика изменения размера окна JavaScript. |
ObjectProperty<EventHandler<WebEvent<String>>> | onStatusChanged | Свойство обработчика статуса JavaScript. |
ObjectProperty<EventHandler<WebEvent<Boolean>>> | onVisibilityChanged | Свойство обработчика видимости окна JavaScript. |
ObjectProperty<Callback<PromptData,String>> | promptHandler | Свойство обработчика JavaScript prompt. |
ReadOnlyStringProperty | title | Название текущей веб-страницы. |
StringProperty | userAgent | Строка идентификатора пользовательского агента. |
ObjectProperty<File> | userDataDirectory | Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя. |
StringProperty | userStyleSheetLocation | Расположение пользовательского стилового файла в виде строкового URL. |
Краткое описание конструкторов
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|
ObjectProperty<Callback<String,Boolean>> | confirmHandlerProperty() | Свойство обработчика JavaScript confirm. |
|---|---|---|
ObjectProperty<Callback<PopupFeatures,WebEngine>> | createPopupHandlerProperty() | Свойство обработчика всплывающего окна JavaScript. |
ReadOnlyObjectProperty<Document> | documentProperty() | Объект документа текущей веб-страницы. |
Object | executeScript(String script) | Выполняет скрипт в контексте текущей страницы. |
Callback<String,Boolean> | getConfirmHandler() | Возвращает значение свойства confirmHandler. |
Callback<PopupFeatures,WebEngine> | getCreatePopupHandler() | Возвращает значение свойства createPopupHandler. |
Document | getDocument() | Возвращает значение свойства document. |
WebHistory | getHistory() | Возвращает объект истории сессии. |
Worker<Void> | getLoadWorker() | Возвращает объект Worker, который можно использовать для отслеживания прогресса загрузки. |
String | getLocation() | Возвращает значение свойства location. |
EventHandler<WebEvent<String>> | getOnAlert() | Возвращает значение свойства onAlert. |
EventHandler<WebErrorEvent> | getOnError() | Возвращает значение свойства onError. |
EventHandler<WebEvent<Rectangle2D>> | getOnResized() | Возвращает значение свойства onResized. |
EventHandler<WebEvent<String>> | getOnStatusChanged() | Возвращает значение свойства onStatusChanged. |
EventHandler<WebEvent<Boolean>> | getOnVisibilityChanged() | Возвращает значение свойства onVisibilityChanged. |
Callback<PromptData,String> | getPromptHandler() | Возвращает значение свойства promptHandler. |
String | getTitle() | Возвращает значение свойства title. |
String | getUserAgent() | Возвращает значение свойства userAgent. |
File | getUserDataDirectory() | Возвращает значение свойства userDataDirectory. |
String | getUserStyleSheetLocation() | Возвращает значение свойства userStyleSheetLocation. |
boolean | isJavaScriptEnabled() | Возвращает значение свойства javaScriptEnabled. |
BooleanProperty | javaScriptEnabledProperty() | Указывает, включено ли выполнение JavaScript. |
void | load(String url) | Загружает веб-страницу в этот движок. |
void | loadContent(String content) | Загружает заданное HTML-содержимое напрямую. |
void | loadContent(String content,
String contentType) | Загружает заданное содержимое напрямую. |
ReadOnlyStringProperty | locationProperty() | URL текущей веб-страницы. |
ObjectProperty<EventHandler<WebEvent<String>>> | onAlertProperty() | Свойство обработчика JavaScript alert. |
ObjectProperty<EventHandler<WebErrorEvent>> | onErrorProperty() | Обработчик событий, вызываемый при возникновении ошибки. |
ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> | onResizedProperty() | Свойство обработчика изменения размера окна JavaScript. |
ObjectProperty<EventHandler<WebEvent<String>>> | onStatusChangedProperty() | Свойство обработчика состояния JavaScript. |
ObjectProperty<EventHandler<WebEvent<Boolean>>> | onVisibilityChangedProperty() | Свойство обработчика видимости окна JavaScript. |
void | print(PrinterJob job) | Печатает текущую веб-страницу с помощью заданной работы принтера. |
ObjectProperty<Callback<PromptData,String>> | promptHandlerProperty() | Свойство обработчика JavaScript prompt. |
void | reload() | Перезагружает текущую страницу, загруженную как из URL, так и напрямую из строки в одном из методов loadContent. |
void | setConfirmHandler(Callback<String,Boolean> handler) | Устанавливает значение свойства confirmHandler. |
void | setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler) | Устанавливает значение свойства createPopupHandler. |
void | setJavaScriptEnabled(boolean value) | Устанавливает значение свойства javaScriptEnabled. |
void | setOnAlert(EventHandler<WebEvent<String>> handler) | Устанавливает значение свойства onAlert. |
void | setOnError(EventHandler<WebErrorEvent> handler) | Устанавливает значение свойства onError. |
void | setOnResized(EventHandler<WebEvent<Rectangle2D>> handler) | Устанавливает значение свойства onResized. |
void | setOnStatusChanged(EventHandler<WebEvent<String>> handler) | Устанавливает значение свойства onStatusChanged. |
void | setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler) | Устанавливает значение свойства onVisibilityChanged. |
void | setPromptHandler(Callback<PromptData,String> handler) | Устанавливает значение свойства promptHandler. |
void | setUserAgent(String value) | Устанавливает значение свойства userAgent. |
void | setUserDataDirectory(File value) | Устанавливает значение свойства userDataDirectory. |
|---|---|---|
void | setUserStyleSheetLocation(String value) | Устанавливает значение свойства userStyleSheetLocation. |
ReadOnlyStringProperty | titleProperty() | Название текущей веб-страницы. |
StringProperty | userAgentProperty() | Указывает строку идентификатора пользователя агента. |
ObjectProperty<File> | userDataDirectoryProperty() | Указывает директорию, которая будет использоваться этим WebEngine для хранения локальных данных пользователя. |
StringProperty | userStyleSheetLocationProperty() | Расположение пользовательского стиля в виде строковой URL. |
Подробное описание свойств
document
public final ReadOnlyObjectProperty<Document> documentProperty
null, если загрузка веб-страницы завершилась неудачно.- См. также:
getDocument()
location
public final ReadOnlyStringProperty locationProperty
- См. также:
getLocation()
title
public final ReadOnlyStringProperty titleProperty
null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны следить за изменениями этого свойства или привязаться к нему, чтобы узнать, когда оно было обновлено.- См. также:
getTitle()
javaScriptEnabled
public final BooleanProperty javaScriptEnabledProperty
- Значение по умолчанию:
- true
- С версии:
- JavaFX 2.2
- См. также:
-
isJavaScriptEnabled(),setJavaScriptEnabled(boolean)
userStyleSheetLocation
public final StringProperty userStyleSheetLocationProperty
Это должен быть локальный URL, т.е. либо 'data:', 'file:', 'jar:', или 'jrt:'. Удаленные URL запрещены по соображениям безопасности.
- Значение по умолчанию:
- null
- С версии:
- JavaFX 2.2
- См. также:
-
getUserStyleSheetLocation(),setUserStyleSheetLocation(String)
userDataDirectory
public final ObjectProperty<File> userDataDirectoryProperty
WebEngine для хранения локальных данных пользователя. Если значение этого свойства не равно null, то WebEngine попытается сохранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойства равно null, то WebEngine попытается сохранить локальные данные пользователя в автоматически выбранном каталоге, зависящем от системы и конкретного пользователя и приложения.
Когда WebEngine собирается начать загрузку веб-страницы или выполнение скрипта в первый раз, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка завершится неудачей по какой-либо причине, WebEngine вызывает обработчик события WebEngine.onError, если он есть, с объектом WebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойство userDataDirectory, WebEngine повторяет попытку с новым значением, как только обработчик вернётся. Если обработчик не изменяет свойство userDataDirectory (что является по умолчанию), WebEngine продолжает работу без локальных данных пользователя.
После того, как WebEngine начал загрузку веб-страницы или выполнение скрипта, изменения, внесённые в это свойство, не влияют на то, где WebEngine сохраняет или будет сохранять локальные данные пользователя.
В настоящее время каталог, указанный этим свойством, используется только для хранения данных, лежащих в основе объектов window.localStorage. В будущем могут быть добавлены другие типы данных.
- Значение по умолчанию:
null- С версии:
- JavaFX 8.0
- См. также:
-
getUserDataDirectory(),setUserDataDirectory(File)
userAgent
public final StringProperty userAgentProperty
User-Agent.- Значение по умолчанию:
- зависит от системы
- С версии:
- JavaFX 8.0
- См. также:
-
getUserAgent(),setUserAgent(String)
onAlert
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
alert. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функцию alert.- См. также:
-
getOnAlert(),setOnAlert(EventHandler)
onStatusChanged
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
window.status.- См. также:
-
getOnStatusChanged(),setOnStatusChanged(EventHandler)
onResized
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
window.- См. также:
-
getOnResized(),setOnResized(EventHandler)
onVisibilityChanged
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
window.- См. также:
-
getOnVisibilityChanged(),setOnVisibilityChanged(EventHandler)
createPopupHandler
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
Для выполнения этого запроса обработчик может создать новое WebEngine, прикрепить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Для блокировки всплывающего окна обработчик должен вернуть null.
По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.
- См. также:
-
getCreatePopupHandler(),setCreatePopupHandler(Callback)
confirmHandler
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
confirm. Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- См. также:
-
getConfirmHandler(),setConfirmHandler(Callback)
promptHandler
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
prompt. Реализация может отобразить диалоговое окно с текстовым полем и вернуть ввод пользователя.
- См. также:
-
getPromptHandler(),setPromptHandler(Callback)
onError
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
- Значение по умолчанию:
null- С версии:
- JavaFX 8.0
- См. также:
-
getOnError(),setOnError(EventHandler)
Подробное описание конструкторов
WebEngine
public WebEngine()
WebEngine
public WebEngine(String url)
- Параметры:
-
url- URL веб-страницы для загрузки
Подробное описание методов
getLoadWorker
public final Worker<Void> getLoadWorker()
Worker, который можно использовать для отслеживания прогресса загрузки.- Возвращает:
- объект
Worker
getDocument
public final Document getDocument()
- Описание свойства:
- Объект документа текущей веб-страницы. Значение равно
null, если загрузка веб-страницы завершилась неудачно.
documentProperty
public final ReadOnlyObjectProperty<Document> documentProperty()
null, если загрузка веб-страницы завершилась неудачно.- См. также:
getDocument()
getLocation
public final String getLocation()
- Описание свойства:
- URL текущей веб-страницы. Если у текущей страницы нет URL, значение является пустой строкой.
locationProperty
public final ReadOnlyStringProperty locationProperty()
- См. также:
getLocation()
getTitle
public final String getTitle()
- Описание свойства:
- Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение —
null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы узнать, когда оно было обновлено.
titleProperty
public final ReadOnlyStringProperty titleProperty()
null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы узнать, когда оно было обновлено.- См. также:
getTitle()
setJavaScriptEnabled
public final void setJavaScriptEnabled(boolean value)
- Описание свойства:
- Указывает, разрешено ли выполнение JavaScript.
- Значение по умолчанию:
- true
- С версии:
- JavaFX 2.2
isJavaScriptEnabled
public final boolean isJavaScriptEnabled()
- Описание свойства:
- Указывает, разрешено ли выполнение JavaScript.
- Значение по умолчанию:
- true
- С версии:
- JavaFX 2.2
javaScriptEnabledProperty
public final BooleanProperty javaScriptEnabledProperty()
- Значение по умолчанию:
- true
- С версии:
- JavaFX 2.2
- См. также:
-
isJavaScriptEnabled(),setJavaScriptEnabled(boolean)
setUserStyleSheetLocation
public final void setUserStyleSheetLocation(String value)
- Описание свойства:
- Расположение пользовательского таблицы стилей в виде строкового URL.
Это должен быть локальный URL, т.е. либо
'data:','file:','jar:', или'jrt:'. Для соображений безопасности удаленные URL недопустимы. - Значение по умолчанию:
- null
- С версии:
- JavaFX 2.2
getUserStyleSheetLocation
public final String getUserStyleSheetLocation()
- Описание свойства:
- Расположение пользовательского таблицы стилей в виде строкового URL.
Это должен быть локальный URL, т.е. либо
'data:','file:','jar:', или'jrt:'. Для соображений безопасности удаленные URL недопустимы. - Значение по умолчанию:
- null
- С версии:
- JavaFX 2.2
userStyleSheetLocationProperty
public final StringProperty userStyleSheetLocationProperty()
Это должен быть локальный URL, т.е. либо 'data:', 'file:', 'jar:', или 'jrt:'. Для соображений безопасности удаленные URL недопустимы.
- Значение по умолчанию:
- null
- С версии:
- JavaFX 2.2
- См. также:
-
getUserStyleSheetLocation(),setUserStyleSheetLocation(String)
getUserDataDirectory
public final File getUserDataDirectory()
- Описание свойства:
- Указывает каталог, используемый этим
WebEngineдля хранения локальных данных пользователя.Если значение этого свойства не
null, тоWebEngineпопытается сохранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойстваnull, тоWebEngineпопытается сохранить локальные данные пользователя в автоматически выбранном системе зависящем каталоге, специфичном для пользователя и приложения.Когда
WebEngineсобирается начать загрузку веб-страницы или выполнить скрипт в первый раз, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка по какой-либо причине завершается неудачей,WebEngineвызывает обработчик событияWebEngine.onError(если он есть) сWebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойствоuserDataDirectory,WebEngineповторно выполняет попытку с новым значением, как только обработчик вернётся. Если обработчик не изменяет свойствоuserDataDirectory(что является по умолчанию),WebEngineпродолжает работу без локальных данных пользователя.После того, как
WebEngineначал загрузку веб-страницы или выполнение скрипта, внесённые изменения в это свойство не влияют на то, гдеWebEngineхранит или будет хранить локальные данные пользователя.В настоящее время каталог, указанный этим свойством, используется только для хранения данных, которые поддерживают объекты
window.localStorage. В будущем могут быть добавлены и другие типы данных. - Значение по умолчанию:
null- С версии:
- JavaFX 8.0
setUserDataDirectory
public final void setUserDataDirectory(File value)
- Описание свойства:
- Указывает каталог, используемый этим
WebEngineдля хранения локальных данных пользователя.Если значение этого свойства не
null, тоWebEngineпопытается сохранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойстваnull, тоWebEngineпопытается сохранить локальные данные пользователя в автоматически выбранном системе зависящем каталоге, специфичном для пользователя и приложения.Когда
WebEngineсобирается начать загрузку веб-страницы или выполнить скрипт в первый раз, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка по какой-либо причине завершается неудачей,WebEngineвызывает обработчик событияWebEngine.onError(если он есть) сWebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойствоuserDataDirectory,WebEngineповторно выполняет попытку с новым значением, как только обработчик вернётся. Если обработчик не изменяет свойствоuserDataDirectory(что является по умолчанию),WebEngineпродолжает работу без локальных данных пользователя.После того, как
WebEngineначал загрузку веб-страницы или выполнение скрипта, внесённые изменения в это свойство не влияют на то, гдеWebEngineхранит или будет хранить локальные данные пользователя.В настоящее время каталог, указанный этим свойством, используется только для хранения данных, которые поддерживают объекты
window.localStorage. В будущем могут быть добавлены и другие типы данных. - Значение по умолчанию:
null- С версии:
- JavaFX 8.0
userDataDirectoryProperty
public final ObjectProperty<File> userDataDirectoryProperty()
WebEngine для хранения локальных данных пользователя. Если значение этого свойства не null, то WebEngine попытается сохранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойства null, то WebEngine попытается сохранить локальные данные пользователя в автоматически выбранном системе зависящем каталоге, специфичном для пользователя и приложения.
Когда WebEngine собирается начать загрузку веб-страницы или выполнить скрипт в первый раз, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка по какой-либо причине завершается неудачей, WebEngine вызывает обработчик события WebEngine.onError (если он есть) с WebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойство userDataDirectory, WebEngine повторно выполняет попытку с новым значением, как только обработчик вернётся. Если обработчик не изменяет свойство userDataDirectory (что является по умолчанию), WebEngine продолжает работу без локальных данных пользователя.
После того, как WebEngine начал загрузку веб-страницы или выполнение скрипта, внесённые изменения в это свойство не влияют на то, где WebEngine хранит или будет хранить локальные данные пользователя.
В настоящее время каталог, указанный этим свойством, используется только для хранения данных, которые поддерживают объекты window.localStorage. В будущем могут быть добавлены и другие типы данных.
- Значение по умолчанию:
null- С версии:
- JavaFX 8.0
- См. также:
-
getUserDataDirectory(),setUserDataDirectory(File)
setUserAgent
public final void setUserAgent(String value)
- Описание свойства:
- Указывает строку идентификатора user agent. Эта строка является значением заголовка
User-AgentHTTP. - Значение по умолчанию:
- зависит от системы
- С версии:
- JavaFX 8.0
getUserAgent
public final String getUserAgent()
- Описание свойства:
- Указывает строку идентификатора user agent. Эта строка является значением заголовка
User-AgentHTTP. - Значение по умолчанию:
- зависит от системы
- С версии:
- JavaFX 8.0
userAgentProperty
public final StringProperty userAgentProperty()
User-Agent HTTP.- Значение по умолчанию:
- зависит от системы
- С тех пор как:
- JavaFX 8.0
- См. также:
-
getUserAgent(),setUserAgent(String)
getOnAlert
public final EventHandler<WebEvent<String>> getOnAlert()
- Описание свойства:
- Свойство обработчика JavaScript
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюalert.
setOnAlert
public final void setOnAlert(EventHandler<WebEvent<String>> handler)
- Описание свойства:
- Свойство обработчика JavaScript
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюalert.
onAlertProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.- См. также:
-
getOnAlert(),setOnAlert(EventHandler)
getOnStatusChanged
public final EventHandler<WebEvent<String>> getOnStatusChanged()
- Описание свойства:
- Свойство обработчика состояния JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, устанавливает свойство
window.status.
setOnStatusChanged
public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
- Описание свойства:
- Свойство обработчика состояния JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, устанавливает свойство
window.status.
onStatusChangedProperty
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
window.status.- См. также:
-
getOnStatusChanged(),setOnStatusChanged(EventHandler)
getOnResized
public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
- Описание свойства:
- Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объекта
window.
setOnResized
public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
- Описание свойства:
- Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объекта
window.
onResizedProperty
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
window.- См. также:
-
getOnResized(),setOnResized(EventHandler)
getOnVisibilityChanged
public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
- Описание свойства:
- Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, изменяет видимость объекта
window.
setOnVisibilityChanged
public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
- Описание свойства:
- Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, изменяет видимость объекта
window.
onVisibilityChangedProperty
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
window.- См. также:
-
getOnVisibilityChanged(),setOnVisibilityChanged(EventHandler)
getCreatePopupHandler
public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
- Описание свойства:
- Свойство обработчика всплывающих окон JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, запрашивает создание всплывающего окна.
Для выполнения этого запроса обработчик может создать новое
WebEngine, подключить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, который открывает их в этом
WebEngine.
setCreatePopupHandler
public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
- Описание свойства:
- Свойство обработчика всплывающих окон JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, запрашивает создание всплывающего окна.
Для выполнения этого запроса обработчик может создать новое
WebEngine, подключить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, который открывает их в этом
WebEngine.
createPopupHandlerProperty
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
Для выполнения этого запроса обработчик может создать новое WebEngine, подключить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернуть null.
По умолчанию установлен обработчик всплывающих окон, который открывает их в этом WebEngine.
- См. также:
-
getCreatePopupHandler(),setCreatePopupHandler(Callback)
getConfirmHandler
public final Callback<String,Boolean> getConfirmHandler()
- Описание свойства:
- Свойство обработчика подтверждения JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию
confirm.Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
setConfirmHandler
public final void setConfirmHandler(Callback<String,Boolean> handler)
- Описание свойства:
- Свойство обработчика подтверждения JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию
confirm.Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
confirmHandlerProperty
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
confirm. Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- См. также:
-
getConfirmHandler(),setConfirmHandler(Callback)
getPromptHandler
public final Callback<PromptData,String> getPromptHandler()
- Описание свойства:
- Свойство обработчика запроса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию
prompt.Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенное пользователем значение.
setPromptHandler
public final void setPromptHandler(Callback<PromptData,String> handler)
- Описание свойства:
- Свойство обработчика запроса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию
prompt.Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенное пользователем значение.
promptHandlerProperty
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
prompt. Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенное пользователем значение.
- См. также:
-
getPromptHandler(),setPromptHandler(Callback)
getOnError
public final EventHandler<WebErrorEvent> getOnError()
- Описание свойства:
- Обработчик событий, вызываемый при возникновении ошибки.
- Значение по умолчанию:
null- С момента:
- JavaFX 8.0
setOnError
public final void setOnError(EventHandler<WebErrorEvent> handler)
- Описание свойства:
- Обработчик событий, вызываемый при возникновении ошибки.
- Значение по умолчанию:
null- С момента:
- JavaFX 8.0
onErrorProperty
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
- Значение по умолчанию:
null- С момента:
- JavaFX 8.0
- См. также:
-
getOnError(),setOnError(EventHandler)
load
public void load(String url)
- Параметры:
-
url- URL веб-страницы для загрузки
loadContent
public void loadContent(String content)
load(String), этот метод является асинхронным.- Параметры:
-
content- содержимое HTML для загрузки
loadContent
public void loadContent(String content, String contentType)
load(String), этот метод является асинхронным. Этот метод также позволяет указать тип содержимого загружаемой строки и, таким образом, может необязательно поддерживать другие типы помимо просто HTML.- Параметры:
-
content- содержимое HTML для загрузки -
contentType- тип содержимого для загрузки
reload
public void reload()
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 boolean в
java.lang.Boolean - JavaScript
nullвnull - Большинство JavaScript объектов оборачиваются как
netscape.javascript.JSObject - JavaScript JSNode объекты отображаются в экземпляры
netscape.javascript.JSObject, которые также реализуютorg.w3c.dom.Node - Особый случай - JavaScript класс
JavaRuntimeObject, который используется для обертывания объекта Java в JavaScript значение - в этом случае мы просто извлекаем исходное значение Java.
- JavaScript Int32 преобразуется в
public void print(PrinterJob job)
Этот метод не изменяет состояние задания, а также не вызывает PrinterJob.endJob(), поэтому задание можно безопасно повторно использовать после этого.
- Параметры:
-
job- задание принтера, используемое для печати - С момента:
- 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.