Класс 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 Event для определения обработчиков событий в коде 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 int или Java double в зависимости от случая. Значение undefined соответствует определённому уникальному объекту String со значением"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);
Вы затем можете ссылаться на объект и метод со своей веб-страницы:
<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-методов с заданным именем, движок выбирает один, соответствующий количеству параметров в вызове. (Многоаргументные методы не обрабатываются.) Неопределенный метод выбирается, если существует несколько методов с правильным числом параметров.
Вы можете выбрать определенный перегруженный метод, указав типы параметров в "расширенном имени метода", имеющем вид "method_name(param_type1,...,param_typen)". Обычно вы напишете JavaScript-выражение:
receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)
Класс Java и метод должны быть объявлены публичными.
Развертывание приложения как модуля
Если какой-либо 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. Это правило также относится к любым объектам DOM и JavaScript, полученным из объекта WebEngine.
- Since:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty<Callback<String, |
confirmHandler |
Свойство обработчика JavaScript confirm. |
final ObjectProperty<Callback<PopupFeatures, |
createPopupHandler |
Свойство обработчика всплывающих окон JavaScript. |
final ReadOnlyObjectProperty<Document> |
document |
Объект документа текущей веб-страницы. |
final BooleanProperty |
javaScriptEnabled |
Указывает, включена ли обработка JavaScript. |
final ReadOnlyStringProperty |
location |
URL текущей веб-страницы. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onAlert |
Свойство обработчика JavaScript alert. |
final ObjectProperty<EventHandler<WebErrorEvent>> |
onError |
Обработчик событий, вызываемый при возникновении ошибки. |
final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> |
onResized |
Свойство обработчика изменения размера окна JavaScript. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onStatusChanged |
Свойство обработчика статуса JavaScript. |
final ObjectProperty<EventHandler<WebEvent<Boolean>>> |
onVisibilityChanged |
Свойство обработчика видимости окна JavaScript. |
final ObjectProperty<Callback<PromptData, |
promptHandler |
Свойство обработчика JavaScript prompt. |
final ReadOnlyStringProperty |
title |
Заголовок текущей веб-страницы. |
final StringProperty |
userAgent |
Строка идентификатора пользователя агента. |
final ObjectProperty<File> |
userDataDirectory |
Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя. |
final StringProperty |
userStyleSheetLocation |
Расположение пользовательского стильного файла как строка URL. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
WebEngine() |
Создает новый движок. |
WebEngine |
Создает новый движок и загружает веб-страницу в него. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
final ObjectProperty<Callback<String, |
confirmHandlerProperty() |
Свойство обработчика JavaScript confirm. |
final ObjectProperty<Callback<PopupFeatures, |
createPopupHandlerProperty() |
Свойство обработчика всплывающего окна JavaScript. |
final ReadOnlyObjectProperty<Document> |
documentProperty() |
Объект документа текущей веб-страницы. |
Object |
executeScript |
Выполняет скрипт в контексте текущей страницы. |
final Callback<String, |
getConfirmHandler() |
Получает значение свойства confirmHandler. |
final Callback<PopupFeatures, |
getCreatePopupHandler() |
Получает значение свойства createPopupHandler. |
final Document |
getDocument() |
Получает значение свойства document. |
WebHistory |
getHistory() |
Возвращает объект истории сеанса. |
final Worker<Void> |
getLoadWorker() |
Возвращает объект Worker, который можно использовать для отслеживания прогресса загрузки. |
final String |
getLocation() |
Получает значение свойства location. |
final EventHandler<WebEvent<String>> |
getOnAlert() |
Получает значение свойства onAlert. |
final EventHandler<WebErrorEvent> |
getOnError() |
Получает значение свойства onError. |
final EventHandler<WebEvent<Rectangle2D>> |
getOnResized() |
Получает значение свойства onResized. |
final EventHandler<WebEvent<String>> |
getOnStatusChanged() |
Получает значение свойства onStatusChanged. |
final EventHandler<WebEvent<Boolean>> |
getOnVisibilityChanged() |
Получает значение свойства onVisibilityChanged. |
final Callback<PromptData, |
getPromptHandler() |
Получает значение свойства promptHandler. |
final String |
getTitle() |
Получает значение свойства title. |
final String |
getUserAgent() |
Получает значение свойства userAgent. |
final File |
getUserDataDirectory() |
Получает значение свойства userDataDirectory. |
final String |
getUserStyleSheetLocation() |
Получает значение свойства userStyleSheetLocation. |
final boolean |
isJavaScriptEnabled() |
Получает значение свойства javaScriptEnabled. |
final BooleanProperty |
javaScriptEnabledProperty() |
Указывает, разрешено ли выполнение JavaScript. |
void |
load |
Загружает веб-страницу в этот движок. |
void |
loadContent |
Загружает заданное содержимое HTML напрямую. |
void |
loadContent |
Загружает заданное содержимое напрямую. |
final ReadOnlyStringProperty |
locationProperty() |
URL текущей веб-страницы. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onAlertProperty() |
Свойство обработчика JavaScript alert. |
final ObjectProperty<EventHandler<WebErrorEvent>> |
onErrorProperty() |
Обработчик событий, вызываемый при возникновении ошибки. |
final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> |
onResizedProperty() |
Свойство обработчика изменения размера окна JavaScript. |
final ObjectProperty<EventHandler<WebEvent<String>>> |
onStatusChangedProperty() |
Свойство обработчика состояния JavaScript. |
final ObjectProperty<EventHandler<WebEvent<Boolean>>> |
onVisibilityChangedProperty() |
Свойство обработчика видимости окна JavaScript. |
void |
print |
Печатает текущую веб-страницу с помощью заданного задания печати. |
final ObjectProperty<Callback<PromptData, |
promptHandlerProperty() |
Свойство обработчика JavaScript prompt. |
void |
reload() |
Перезагружает текущую страницу, загруженную как из URL, так и напрямую из строки в одном из методов loadContent. |
final void |
setConfirmHandler |
Устанавливает значение свойства confirmHandler. |
final void |
setCreatePopupHandler |
Устанавливает значение свойства createPopupHandler. |
final void |
setJavaScriptEnabled |
Устанавливает значение свойства javaScriptEnabled. |
final void |
setOnAlert |
Устанавливает значение свойства onAlert. |
final void |
setOnError |
Устанавливает значение свойства onError. |
final void |
setOnResized |
Устанавливает значение свойства onResized. |
final void |
setOnStatusChanged |
Устанавливает значение свойства onStatusChanged. |
final void |
setOnVisibilityChanged |
Устанавливает значение свойства onVisibilityChanged. |
final void |
setPromptHandler |
Устанавливает значение свойства promptHandler. |
final void |
setUserAgent |
Устанавливает значение свойства userAgent. |
final void |
setUserDataDirectory |
Устанавливает значение свойства userDataDirectory. |
final void |
setUserStyleSheetLocation |
Устанавливает значение свойства userStyleSheetLocation. |
final ReadOnlyStringProperty |
titleProperty() |
Заголовок текущей веб-страницы. |
final StringProperty |
userAgentProperty() |
Указывает строку идентификатора пользователя агента. |
final ObjectProperty<File> |
userDataDirectoryProperty() |
Указывает директорию, которую этот WebEngine будет использовать для хранения локальных данных пользователя. |
final StringProperty |
userStyleSheetLocationProperty() |
Расположение пользовательского стиля как строковый URL. |
Подробное описание свойств
document
public final ReadOnlyObjectProperty<Document> documentProperty
null, если загрузка веб-страницы завершилась ошибкой.- См. также:
location
public final ReadOnlyStringProperty locationProperty
- См. также:
title
public final ReadOnlyStringProperty titleProperty
null. Это свойство обновляется асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, но должны прослушивать изменения этого свойства или привязываться к нему, чтобы знать, когда оно было обновлено.- См. также:
javaScriptEnabled
public final BooleanProperty javaScriptEnabledProperty
- Значение по умолчанию:
- true
- С версии:
- JavaFX 2.2
- См. также:
userStyleSheetLocation
public final StringProperty userStyleSheetLocationProperty
Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Из соображений безопасности удалённые URL не допускаются.
- Значение по умолчанию:
- null
- С версии:
- JavaFX 2.2
- См. также:
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
- См. также:
userAgent
public final StringProperty userAgentProperty
User-Agent.- Значение по умолчанию:
- зависит от системы
- С версии:
- JavaFX 8.0
- См. также:
onAlert
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
alert. Этот обработчик вызывается, когда выполняемый на веб-странице скрипт вызывает функцию alert.onStatusChanged
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
window.status.onResized
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
window.onVisibilityChanged
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
window.createPopupHandler
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
Для обработки этого запроса обработчик может создать новое WebEngine, добавить обработчик видимости и, необязательно, обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернуть null.
По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.
confirmHandler
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
confirm. Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
promptHandler
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
prompt. Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенные пользователем данные.
onError
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
- Значение по умолчанию:
null- С версии:
- JavaFX 8.0
- См. также:
Подробное описание конструкторов
WebEngine
public WebEngine()
WebEngine
public WebEngine(String url)
- Параметры:
-
url- URL веб-страницы для загрузки
Подробное описание методов
getLoadWorker
public final Worker<Void> getLoadWorker()
Worker, который можно использовать для отслеживания прогресса загрузки.- Возвращает:
- объект
Worker
getDocument
public final Document getDocument()
document.- Описание свойства:
- Объект документа текущей веб-страницы. Значение равно
null, если загрузка веб-страницы завершилась ошибкой. - Возвращает:
- значение свойства
document - См. также:
documentProperty
public final ReadOnlyObjectProperty<Document> documentProperty()
null, если загрузка веб-страницы завершилась ошибкой.- Возвращает:
- свойство документа
- См. также:
getLocation
public final String getLocation()
location.- Описание свойства:
- URL текущей веб-страницы. Если у текущей страницы нет URL, значение равно пустой строке.
- Возвращает:
- значение свойства
location - См. также:
locationProperty
public final ReadOnlyStringProperty locationProperty()
- Возвращает:
- свойство расположения
- См. также:
getTitle
public final String getTitle()
title.- Описание свойства:
- Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение равно
null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на определённое время, а должны слушать изменения этого свойства или привязываться к нему, чтобы узнать, когда оно было обновлено. - Возвращает:
- значение свойства
title - См. также:
titleProperty
public final ReadOnlyStringProperty titleProperty()
null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на определённое время, а должны слушать изменения этого свойства или привязываться к нему, чтобы узнать, когда оно было обновлено.- Возвращает:
- свойство заголовка
- См. также:
setJavaScriptEnabled
public final void setJavaScriptEnabled(boolean value)
javaScriptEnabled.- Описание свойства:
- Указывает, разрешена ли работа JavaScript.
- Значение по умолчанию:
- true
- Параметры:
-
value- значение для свойстваjavaScriptEnabled - С:
- JavaFX 2.2
- См. также:
isJavaScriptEnabled
public final boolean isJavaScriptEnabled()
javaScriptEnabled.- Описание свойства:
- Указывает, разрешена ли работа JavaScript.
- Значение по умолчанию:
- true
- Возвращает:
- значение свойства
javaScriptEnabled - С:
- JavaFX 2.2
- См. также:
javaScriptEnabledProperty
public final BooleanProperty javaScriptEnabledProperty()
- Значение по умолчанию:
- true
- Возвращает:
- свойство
javaScriptEnabled - С:
- JavaFX 2.2
- См. также:
setUserStyleSheetLocation
public final void setUserStyleSheetLocation(String value)
userStyleSheetLocation.- Описание свойства:
- Расположение пользовательского таблицы стилей в виде строкового URL.
Это должен быть локальный URL, т.е. либо
'data:', либо'file:', либо'jar:', либо'jrt:'. Дистанционные URL не допускаются по соображениям безопасности. - Значение по умолчанию:
- null
- Параметры:
-
value- значение для свойстваuserStyleSheetLocation - С:
- JavaFX 2.2
- См. также:
getUserStyleSheetLocation
public final String getUserStyleSheetLocation()
userStyleSheetLocation.- Описание свойства:
- Расположение пользовательского таблицы стилей в виде строкового URL.
Это должен быть локальный URL, т.е. либо
'data:', либо'file:', либо'jar:', либо'jrt:'. Дистанционные URL не допускаются по соображениям безопасности. - Значение по умолчанию:
- null
- Возвращает:
- значение свойства
userStyleSheetLocation - С:
- JavaFX 2.2
- См. также:
userStyleSheetLocationProperty
public final StringProperty userStyleSheetLocationProperty()
Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Дистанционные URL не допускаются по соображениям безопасности.
- Значение по умолчанию:
- null
- Возвращает:
- свойство
userStyleSheetLocation - С:
- JavaFX 2.2
- См. также:
getUserDataDirectory
public final File getUserDataDirectory()
userDataDirectory.- Описание свойства:
- Указывает каталог, который должен использоваться этим
WebEngineдля хранения локальных данных пользователя.Если значение этого свойства не равно
null, тоWebEngineпопытается сохранить локальные данные пользователя в соответствующем каталоге. Если значение этого свойства равноnull, тоWebEngineпопытается сохранить локальные данные пользователя в автоматически выбранном каталоге, зависящем от системы, и специфичном для пользователя и приложения.Когда
WebEngineсобирается начать загрузку веб-страницы или выполнить скрипт впервые, он проверяет, может ли он фактически использовать каталог, указанный этим свойством. Если проверка завершится неудачно по какой-либо причине,WebEngineвызывает обработчик событияWebEngine.onError, если таковой имеется, сWebErrorEvent, описывающим причину. Если вызванный обработчик события изменяет свойствоuserDataDirectory,WebEngineповторяет попытку с новым значением, как только обработчик вернётся. Если обработчик не изменяет свойствоuserDataDirectory(что является значением по умолчанию),WebEngineпродолжает работу без локальных данных пользователя.После того, как
WebEngineначал загрузку веб-страницы или выполнение скрипта, внесённые изменения в это свойство не влияют на то, гдеWebEngineхранит или будет хранить локальные данные пользователя.В настоящее время каталог, указанный этим свойством, используется только для хранения данных, которые поддерживают объекты
window.localStorage. В будущем могут быть добавлены другие типы данных. - Значение по умолчанию:
null- Возвращает:
- значение свойства
userDataDirectory - С:
- JavaFX 8.0
- См. также:
УстановитьДиректориюДанныхПользователя
public final void setUserDataDirectory(File value)
userDataDirectory.- Описание свойства:
- Указывает директорию, которую этот
WebEngineбудет использовать для хранения локальных данных пользователя.Если значение этого свойства не
null, тоWebEngineбудет пытаться хранить локальные данные пользователя в указанной директории. Если значение этого свойства равноnull, тоWebEngineбудет пытаться хранить локальные данные пользователя в автоматически выбранной, зависящей от системы, директории, специфичной для пользователя и приложения.Когда
WebEngineсобирается начать загрузку веб-страницы или выполнение скрипта в первый раз, он проверяет, может ли он фактически использовать директорию, указанную этим свойством. Если проверка по какой-либо причине завершается неудачно,WebEngineвызывает обработчик событияWebEngine.onError, если таковой имеется, с объектомWebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойствоuserDataDirectory, тоWebEngineповторно пытается выполнить операцию с новым значением, как только обработчик вернёт результат. Если обработчик не изменяет свойствоuserDataDirectory(что является значением по умолчанию), тоWebEngineпродолжает работу без локальных данных пользователя.После того, как
WebEngineначал загрузку веб-страницы или выполнение скрипта, изменения, внесённые в это свойство, не повлияют на то, гдеWebEngineхранит или будет хранить локальные данные пользователя.В настоящее время директория, указанная этим свойством, используется только для хранения данных, которые поддерживают объекты
window.localStorage. В будущем могут быть добавлены другие типы данных. - Значение по умолчанию:
null- Параметры:
-
value- значение для свойстваuserDataDirectory - С:
- JavaFX 8.0
- См. также:
СвойствоДиректорииДанныхПользователя
public final ObjectProperty<File> userDataDirectoryProperty()
WebEngine будет использовать для хранения локальных данных пользователя. Если значение этого свойства не null, то WebEngine будет пытаться хранить локальные данные пользователя в указанной директории. Если значение этого свойства равно null, то WebEngine будет пытаться хранить локальные данные пользователя в автоматически выбранной, зависящей от системы, директории, специфичной для пользователя и приложения.
Когда WebEngine собирается начать загрузку веб-страницы или выполнение скрипта в первый раз, он проверяет, может ли он фактически использовать директорию, указанную этим свойством. Если проверка по какой-либо причине завершается неудачно, WebEngine вызывает обработчик события WebEngine.onError, если таковой имеется, с объектом WebErrorEvent, описывающим причину. Если вызванный обработчик изменяет свойство userDataDirectory, то WebEngine повторно пытается выполнить операцию с новым значением, как только обработчик вернёт результат. Если обработчик не изменяет свойство userDataDirectory (что является значением по умолчанию), то WebEngine продолжает работу без локальных данных пользователя.
После того, как WebEngine начал загрузку веб-страницы или выполнение скрипта, изменения, внесённые в это свойство, не повлияют на то, где WebEngine хранит или будет хранить локальные данные пользователя.
В настоящее время директория, указанная этим свойством, используется только для хранения данных, которые поддерживают объекты window.localStorage. В будущем могут быть добавлены другие типы данных.
- Значение по умолчанию:
null- Возвращает:
- свойство
userDataDirectory - С:
- JavaFX 8.0
- См. также:
УстановитьUserAgent
public final void setUserAgent(String value)
userAgent.- Описание свойства:
- Строка идентификатора пользователя. Эта строка является значением заголовка
User-AgentHTTP. - Значение по умолчанию:
- зависит от системы
- Параметры:
-
value- значение для свойстваuserAgent - С:
- JavaFX 8.0
- См. также:
ПолучитьUserAgent
public final String getUserAgent()
userAgent.- Описание свойства:
- Строка идентификатора пользователя. Эта строка является значением заголовка
User-AgentHTTP. - Значение по умолчанию:
- зависит от системы
- Возвращает:
- значение свойства
userAgent - С:
- JavaFX 8.0
- См. также:
СвойствоUserAgent
public final StringProperty userAgentProperty()
User-Agent HTTP.- Значение по умолчанию:
- зависит от системы
- Возвращает:
- свойство
userAgent - С:
- JavaFX 8.0
- См. также:
ПолучитьНаОповещении
public final EventHandler<WebEvent<String>> getOnAlert()
onAlert.- Описание свойства:
- Обработчик JavaScript
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюalert. - Возвращает:
- значение свойства
onAlert - См. также:
УстановитьНаОповещении
public final void setOnAlert(EventHandler<WebEvent<String>> handler)
onAlert.- Описание свойства:
- Обработчик JavaScript
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функциюalert. - Параметры:
-
handler- значение для свойстваonAlert - См. также:
СвойствоНаОповещении
public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.- Возвращает:
- свойство наОповещении
- См. также:
ПолучитьПриИзмененииСостояния
public final EventHandler<WebEvent<String>> getOnStatusChanged()
onStatusChanged.- Описание свойства:
- Свойство обработчика состояния JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, устанавливает свойство
window.status. - Возвращает:
- значение свойства
onStatusChanged - См. также:
УстановитьПриИзмененииСостояния
public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
onStatusChanged.- Описание свойства:
- Свойство обработчика состояния JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, устанавливает свойство
window.status. - Параметры:
-
handler- значение для свойстваonStatusChanged - См. также:
СвойствоПриИзмененииСостояния
public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
window.status.- Возвращает:
- свойство приИзмененииСостояния
- См. также:
ПолучитьПриИзмененииРазмера
public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
onResized.- Описание свойства:
- Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объекта
window. - Возвращает:
- значение свойства
onResized - См. также:
setOnResized
public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
onResized.- Описание свойства:
- Обработчик изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, перемещает или изменяет размер объекта
window. - Параметры:
-
handler- значение свойстваonResized - См. также:
onResizedProperty
public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
window.- Возвращает:
- свойство onResized
- См. также:
getOnVisibilityChanged
public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
onVisibilityChanged.- Описание свойства:
- Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, изменяет видимость объекта
window. - Возвращает:
- значение свойства
onVisibilityChanged - См. также:
setOnVisibilityChanged
public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
onVisibilityChanged.- Описание свойства:
- Свойство обработчика видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, изменяет видимость объекта
window. - Параметры:
-
handler- значение свойстваonVisibilityChanged - См. также:
onVisibilityChangedProperty
public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
window.- Возвращает:
- свойство onVisibilityChanged
- См. также:
getCreatePopupHandler
public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
createPopupHandler.- Описание свойства:
- Свойство обработчика всплывающих окон JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, запрашивает создание всплывающего окна.
Для выполнения этого запроса обработчик может создать новое
WebEngine, добавить обработчик видимости и, необязательно, обработчик изменения размера, и вернуть созданный движок. Для блокировки всплывающего окна обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом
WebEngine. - Возвращает:
- значение свойства
createPopupHandler - См. также:
setCreatePopupHandler
public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
createPopupHandler.- Описание свойства:
- Свойство обработчика всплывающих окон JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, запрашивает создание всплывающего окна.
Для выполнения этого запроса обработчик может создать новое
WebEngine, добавить обработчик видимости и, необязательно, обработчик изменения размера, и вернуть созданный движок. Для блокировки всплывающего окна обработчик должен вернутьnull.По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом
WebEngine. - Параметры:
-
handler- значение свойстваcreatePopupHandler - См. также:
createPopupHandlerProperty
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
Для выполнения этого запроса обработчик может создать новое WebEngine, добавить обработчик видимости и, необязательно, обработчик изменения размера, и вернуть созданный движок. Для блокировки всплывающего окна обработчик должен вернуть null.
По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.
- Возвращает:
- свойство createPopupHandler
- См. также:
getConfirmHandler
public final Callback<String,Boolean> getConfirmHandler()
confirmHandler.- Описание свойства:
- Свойство обработчика
confirmJavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функциюconfirm.Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- Возвращает:
- значение свойства
confirmHandler - См. также:
setConfirmHandler
public final void setConfirmHandler(Callback<String,Boolean> handler)
confirmHandler.- Описание свойства:
- Свойство обработчика
confirmJavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функциюconfirm.Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- Параметры:
-
handler- значение свойстваconfirmHandler - См. также:
confirmHandlerProperty
public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
confirm JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функцию confirm. Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.
- Возвращает:
- свойство confirmHandler
- См. также:
getPromptHandler
public final Callback<PromptData,String> getPromptHandler()
promptHandler.- Описание свойства:
- Свойство обработчика
promptJavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функциюprompt.Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенный пользователем текст.
- Возвращает:
- значение свойства
promptHandler - См. также:
setPromptHandler
public final void setPromptHandler(Callback<PromptData,String> handler)
promptHandler.- Описание свойства:
- Свойство обработчика
promptJavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функциюprompt.Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенный пользователем текст.
- Параметры:
-
handler- значение свойстваpromptHandler - См. также:
promptHandlerProperty
public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
prompt JavaScript. Этот обработчик вызывается, когда скрипт, выполняемый на веб-странице, вызывает функцию prompt. Реализация может отобразить диалоговое окно с текстовым полем и вернуть введенный пользователем текст.
- Возвращает:
- свойство promptHandler
- См. также:
getOnError
public final EventHandler<WebErrorEvent> getOnError()
onError.- Описание свойства:
- Обработчик событий, вызываемый при возникновении ошибки.
- Значение по умолчанию:
null- Возвращает:
- значение свойства
onError - С:
- JavaFX 8.0
- См. также:
setOnError
public final void setOnError(EventHandler<WebErrorEvent> handler)
onError.- Описание свойства:
- Обработчик событий, вызываемый при возникновении ошибки.
- Значение по умолчанию:
null- Параметры:
-
handler- значение для свойстваonError - С:
- JavaFX 8.0
- См. также:
onErrorProperty
public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
- Значение по умолчанию:
null- Возвращает:
- свойство
onError - С:
- JavaFX 8.0
- См. также:
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 булево значение преобразуется в
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.