Spec-Zone.ru › OpenJavaFX 24

Класс WebEngine

java.lang.Object
javafx.scene.web.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
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.lang.Boolean; а строка становится java.lang.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 с заданным именем, то движок выбирает тот, который соответствует количеству параметров в вызове. (Переменные с аргументами не обрабатываются.) Если существует несколько методов с правильным количеством параметров, выбирается неопределённый.

Вы можете выбрать конкретный перегруженный метод, указав типы параметров в "расширенном имени метода", имеющем форму "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. Это правило также распространяется на любые объекты DOM и JavaScript, полученные из объекта WebEngine.

Since:
JavaFX 2.0

Краткое описание свойств

Тип Свойство Описание
final ObjectProperty<Callback<String,Boolean>> confirmHandler
Свойство обработчика JavaScript confirm.
final ObjectProperty<Callback<PopupFeatures,WebEngine>> 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,String>> promptHandler
Свойство обработчика JavaScript prompt.
final ReadOnlyStringProperty title
Заголовок текущей веб-страницы.
final StringProperty userAgent
Строка идентификатора пользовательского агента.
final ObjectProperty<File> userDataDirectory
Указывает каталог, который будет использоваться этим WebEngine для хранения локальных данных пользователя.
final StringProperty userStyleSheetLocation
Расположение пользовательского стильного файла в виде строчного URL.

Краткое описание конструкторов

Конструктор Описание
WebEngine()
Создает новый движок.
WebEngine(String url)
Создает новый движок и загружает в него веб-страницу.

Краткое описание методов

Modifier and Type Method Description
final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
Свойство обработчика JavaScript confirm.
final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
Свойство обработчика всплывающих окон JavaScript.
final ReadOnlyObjectProperty<Document> documentProperty()
Объект документа текущей веб-страницы.
Object executeScript(String script)
Выполняет скрипт в контексте текущей страницы.
final Callback<String,Boolean> getConfirmHandler()
Получает значение свойства confirmHandler.
final Callback<PopupFeatures,WebEngine> 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,String> 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(String url)
Загружает веб-страницу в этот движок.
void loadContent(String content)
Загружает заданное содержимое HTML напрямую.
void loadContent(String content, String contentType)
Загружает заданное содержимое напрямую.
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(PrinterJob job)
Печатает текущую веб-страницу с помощью заданного задания печати.
final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
Свойство обработчика JavaScript prompt.
void reload()
Перезагружает текущую страницу, загруженную по URL или напрямую из строки в одном из методов loadContent.
final void setConfirmHandler(Callback<String,Boolean> handler)
Устанавливает значение свойства confirmHandler.
final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
Устанавливает значение свойства createPopupHandler.
final void setJavaScriptEnabled(boolean value)
Устанавливает значение свойства javaScriptEnabled.
final void setOnAlert(EventHandler<WebEvent<String>> handler)
Устанавливает значение свойства onAlert.
final void setOnError(EventHandler<WebErrorEvent> handler)
Устанавливает значение свойства onError.
final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
Устанавливает значение свойства onResized.
final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
Устанавливает значение свойства onStatusChanged.
final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
Устанавливает значение свойства onVisibilityChanged.
final void setPromptHandler(Callback<PromptData,String> handler)
Устанавливает значение свойства promptHandler.
final void setUserAgent(String value)
Устанавливает значение свойства userAgent.
final void setUserDataDirectory(File value)
Устанавливает значение свойства userDataDirectory.
final void setUserStyleSheetLocation(String value)
Устанавливает значение свойства userStyleSheetLocation.
final ReadOnlyStringProperty titleProperty()
Заголовок текущей веб-страницы.
final StringProperty userAgentProperty()
Указывает строку идентификатора пользователя агента.
final ObjectProperty<File> userDataDirectoryProperty()
Указывает директорию, которую будет использовать этот WebEngine для хранения локальных данных пользователя.
final StringProperty userStyleSheetLocationProperty()
Расположение пользовательского файла стилей как строка URL.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание свойств

document

public final ReadOnlyObjectProperty<Document> documentProperty
Объект документа текущей веб-страницы. Значение равно null, если загрузка веб-страницы завершилась ошибкой.
См. также:
  • getDocument()
  • documentProperty()

location

public final ReadOnlyStringProperty locationProperty
URL текущей веб-страницы. Если у текущей страницы нет URL, значение равно пустой строке.
См. также:
  • getLocation()
  • locationProperty()

title

public final ReadOnlyStringProperty titleProperty
Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение равно null. Это свойство будет обновлено асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на определенное время, а должны отслеживать изменения в этом свойстве или привязаться к нему, чтобы знать, когда оно было обновлено.
См. также:
  • getTitle()
  • titleProperty()

javaScriptEnabled

public final BooleanProperty javaScriptEnabledProperty
Указывает, включено ли выполнение JavaScript.
Значение по умолчанию:
true
С версии:
JavaFX 2.2
См. также:
  • isJavaScriptEnabled()
  • setJavaScriptEnabled(boolean)
  • javaScriptEnabledProperty()

userStyleSheetLocation

public final StringProperty userStyleSheetLocationProperty
Расположение пользовательского стиля в виде строки URL.

Это должен быть локальный URL, т.е. либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Для соображений безопасности удалённые URL не разрешены.

Значение по умолчанию:
null
С версии:
JavaFX 2.2
См. также:
  • getUserStyleSheetLocation()
  • setUserStyleSheetLocation(String)
  • userStyleSheetLocationProperty()

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)
  • userDataDirectoryProperty()

userAgent

public final StringProperty userAgentProperty
Указывает строку идентификатора пользователя. Эта строка является значением заголовка User-Agent HTTP.
Значение по умолчанию:
зависит от системы
С версии:
JavaFX 8.0
См. также:
  • getUserAgent()
  • setUserAgent(String)
  • userAgentProperty()

onAlert

public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty
Свойство обработчика JavaScript alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.
См. также:
  • getOnAlert()
  • setOnAlert(EventHandler)
  • onAlertProperty()

onStatusChanged

public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty
Свойство обработчика статуса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, устанавливает свойство window.status.
См. также:
  • getOnStatusChanged()
  • setOnStatusChanged(EventHandler)
  • onStatusChangedProperty()

onResized

public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
Свойство обработчика изменения размера окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, перемещает или изменяет размер объекта window.
См. также:
  • getOnResized()
  • setOnResized(EventHandler)
  • onResizedProperty()

onVisibilityChanged

public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty
Свойство обработчика изменения видимости окна JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, изменяет видимость объекта window.
См. также:
  • getOnVisibilityChanged()
  • setOnVisibilityChanged(EventHandler)
  • onVisibilityChangedProperty()

createPopupHandler

public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
Свойство обработчика всплывающих окон JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, запрашивает создание всплывающего окна.

Для удовлетворения этого запроса обработчик может создать новый WebEngine, добавить обработчик видимости и необязательно обработчик изменения размера, и вернуть созданный движок. Чтобы заблокировать всплывающее окно, обработчик должен вернуть null.

По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.

См. также:
  • getCreatePopupHandler()
  • setCreatePopupHandler(Callback)
  • createPopupHandlerProperty()

confirmHandler

public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty
Свойство обработчика подтверждения JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию confirm.

Реализация может отобразить диалоговое окно с вариантами «Да» и «Нет» и вернуть выбор пользователя.

См. также:
  • getConfirmHandler()
  • setConfirmHandler(Callback)
  • confirmHandlerProperty()

promptHandler

public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty
Свойство обработчика запроса JavaScript. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию prompt.

Реализация может отобразить диалоговое окно с текстовым полем и вернуть ввод пользователя.

См. также:
  • getPromptHandler()
  • setPromptHandler(Callback)
  • promptHandlerProperty()

onError

public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty
Обработчик событий, вызываемый при возникновении ошибки.
Значение по умолчанию:
null
С:
JavaFX 8.0
См. также:
  • getOnError()
  • setOnError(EventHandler)
  • onErrorProperty()

Подробное описание конструкторов

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()

documentProperty

public final ReadOnlyObjectProperty<Document> documentProperty()
Объект документа текущей веб-страницы. Значение равно null, если загрузка веб-страницы не удалась.
Возвращает:
свойство документа
См. также:
  • getDocument()

getLocation

public final String getLocation()
Получает значение свойства location.
Описание свойства:
URL текущей веб-страницы. Если у текущей страницы нет URL, значение — пустая строка.
Возвращает:
значение свойства location
См. также:
  • locationProperty()

locationProperty

public final ReadOnlyStringProperty locationProperty()
URL текущей веб-страницы. Если у текущей страницы нет URL, значение — пустая строка.
Возвращает:
свойство расположения
См. также:
  • getLocation()

getTitle

public final String getTitle()
Получает значение свойства title.
Описание свойства:
Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение — null. Это свойство обновляется асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы знать, когда оно было обновлено.
Возвращает:
значение свойства title
См. также:
  • titleProperty()

titleProperty

public final ReadOnlyStringProperty titleProperty()
Заголовок текущей веб-страницы. Если у текущей страницы нет заголовка, значение — null. Это свойство обновляется асинхронно некоторое время после загрузки страницы. Приложения не должны полагаться на конкретное время, а должны прослушивать изменения этого свойства или привязываться к нему, чтобы знать, когда оно было обновлено.
Возвращает:
свойство заголовка
См. также:
  • getTitle()

setJavaScriptEnabled

public final void setJavaScriptEnabled(boolean value)
Устанавливает значение свойства javaScriptEnabled.
Описание свойства:
Указывает, разрешено ли выполнение JavaScript.
Значение по умолчанию:
true
Параметры:
value — значение для свойства javaScriptEnabled
С:
JavaFX 2.2
См. также:
  • isJavaScriptEnabled()
  • javaScriptEnabledProperty()

isJavaScriptEnabled

public final boolean isJavaScriptEnabled()
Получает значение свойства javaScriptEnabled.
Описание свойства:
Указывает, разрешено ли выполнение JavaScript.
Значение по умолчанию:
true
Возвращает:
значение свойства javaScriptEnabled
С:
JavaFX 2.2
См. также:
  • setJavaScriptEnabled(boolean)
  • javaScriptEnabledProperty()

javaScriptEnabledProperty

public final BooleanProperty javaScriptEnabledProperty()
Указывает, разрешено ли выполнение JavaScript.
Значение по умолчанию:
true
Возвращает:
свойство javaScriptEnabled
С:
JavaFX 2.2
См. также:
  • isJavaScriptEnabled()
  • setJavaScriptEnabled(boolean)

setUserStyleSheetLocation

public final void setUserStyleSheetLocation(String value)
Устанавливает значение свойства userStyleSheetLocation.
Описание свойства:
Расположение пользовательского стилового файла как строка URL.

Это должен быть локальный URL, то есть либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Удаленные URL не разрешены по соображениям безопасности.

Значение по умолчанию:
null
Параметры:
value — значение для свойства userStyleSheetLocation
С:
JavaFX 2.2
См. также:
  • getUserStyleSheetLocation()
  • userStyleSheetLocationProperty()

getUserStyleSheetLocation

public final String getUserStyleSheetLocation()
Получает значение свойства userStyleSheetLocation.
Описание свойства:
Расположение пользовательского стилового файла как строка URL.

Это должен быть локальный URL, то есть либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Удаленные URL не разрешены по соображениям безопасности.

Значение по умолчанию:
null
Возвращает:
значение свойства userStyleSheetLocation
С:
JavaFX 2.2
См. также:
  • setUserStyleSheetLocation(String)
  • userStyleSheetLocationProperty()

userStyleSheetLocationProperty

public final StringProperty userStyleSheetLocationProperty()
Расположение пользовательского стилового файла как строка URL.

Это должен быть локальный URL, то есть либо 'data:', либо 'file:', либо 'jar:', либо 'jrt:'. Удаленные URL не разрешены по соображениям безопасности.

Значение по умолчанию:
null
Возвращает:
свойство userStyleSheetLocation
С:
JavaFX 2.2
См. также:
  • getUserStyleSheetLocation()
  • setUserStyleSheetLocation(String)

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
См. также:
  • setUserDataDirectory(File)
  • userDataDirectoryProperty()

setUserDataDirectory

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
См. также:
  • getUserDataDirectory()
  • userDataDirectoryProperty()

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
Возвращает:
свойство userDataDirectory
С тех пор:
JavaFX 8.0
См. также:
  • getUserDataDirectory()
  • setUserDataDirectory(File)

setUserAgent

public final void setUserAgent(String value)
Устанавливает значение свойства userAgent.
Описание свойства:
Строка идентификатора пользователя. Эта строка является значением заголовка HTTP User-Agent.
Значение по умолчанию:
зависит от системы
Параметры:
value - значение для свойства userAgent
С тех пор:
JavaFX 8.0
См. также:
  • getUserAgent()
  • userAgentProperty()

getUserAgent

public final String getUserAgent()
Возвращает значение свойства userAgent.
Описание свойства:
Строка идентификатора пользователя. Эта строка является значением заголовка HTTP User-Agent.
Значение по умолчанию:
зависит от системы
Возвращает:
значение свойства userAgent
С тех пор:
JavaFX 8.0
См. также:
  • setUserAgent(String)
  • userAgentProperty()

userAgentProperty

public final StringProperty userAgentProperty()
Строка идентификатора пользователя. Эта строка является значением заголовка HTTP User-Agent.
Значение по умолчанию:
зависит от системы
Возвращает:
свойство userAgent
С тех пор:
JavaFX 8.0
См. также:
  • getUserAgent()
  • setUserAgent(String)

getOnAlert

public final EventHandler<WebEvent<String>> getOnAlert()
Возвращает значение свойства onAlert.
Описание свойства:
Свойство обработчика JavaScript alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.
Возвращает:
значение свойства onAlert
См. также:
  • setOnAlert(EventHandler)
  • onAlertProperty()

setOnAlert

public final void setOnAlert(EventHandler<WebEvent<String>> handler)
Устанавливает значение свойства onAlert.
Описание свойства:
Свойство обработчика JavaScript alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.
Параметры:
handler - значение для свойства onAlert
См. также:
  • getOnAlert()
  • onAlertProperty()

onAlertProperty

public final ObjectProperty<EventHandler<WebEvent<String>>> onAlertProperty()
Свойство обработчика JavaScript alert. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию alert.
Возвращает:
свойство onAlert
См. также:
  • getOnAlert()
  • setOnAlert(EventHandler)

getOnStatusChanged

public final EventHandler<WebEvent<String>> getOnStatusChanged()
Получает значение свойства onStatusChanged.
Описание свойства:
Обработчик статуса JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, устанавливает свойство window.status.
Возвращает:
значение свойства onStatusChanged
См. также:
  • setOnStatusChanged(EventHandler)
  • onStatusChangedProperty()

setOnStatusChanged

public final void setOnStatusChanged(EventHandler<WebEvent<String>> handler)
Устанавливает значение свойства onStatusChanged.
Описание свойства:
Обработчик статуса JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, устанавливает свойство window.status.
Параметры:
handler - значение для свойства onStatusChanged
См. также:
  • getOnStatusChanged()
  • onStatusChangedProperty()

onStatusChangedProperty

public final ObjectProperty<EventHandler<WebEvent<String>>> onStatusChangedProperty()
Свойство обработчика статуса JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, устанавливает свойство window.status.
Возвращает:
свойство onStatusChanged
См. также:
  • getOnStatusChanged()
  • setOnStatusChanged(EventHandler)

getOnResized

public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
Получает значение свойства onResized.
Описание свойства:
Обработчик изменения размера окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, перемещает или изменяет размер объекта window.
Возвращает:
значение свойства onResized
См. также:
  • setOnResized(EventHandler)
  • onResizedProperty()

setOnResized

public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
Устанавливает значение свойства onResized.
Описание свойства:
Обработчик изменения размера окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, перемещает или изменяет размер объекта window.
Параметры:
handler - значение для свойства onResized
См. также:
  • getOnResized()
  • onResizedProperty()

onResizedProperty

public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
Обработчик изменения размера окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, перемещает или изменяет размер объекта window.
Возвращает:
свойство onResized
См. также:
  • getOnResized()
  • setOnResized(EventHandler)

getOnVisibilityChanged

public final EventHandler<WebEvent<Boolean>> getOnVisibilityChanged()
Получает значение свойства onVisibilityChanged.
Описание свойства:
Обработчик изменения видимости окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, изменяет видимость объекта window.
Возвращает:
значение свойства onVisibilityChanged
См. также:
  • setOnVisibilityChanged(EventHandler)
  • onVisibilityChangedProperty()

setOnVisibilityChanged

public final void setOnVisibilityChanged(EventHandler<WebEvent<Boolean>> handler)
Устанавливает значение свойства onVisibilityChanged.
Описание свойства:
Обработчик изменения видимости окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, изменяет видимость объекта window.
Параметры:
handler - значение для свойства onVisibilityChanged
См. также:
  • getOnVisibilityChanged()
  • onVisibilityChangedProperty()

onVisibilityChangedProperty

public final ObjectProperty<EventHandler<WebEvent<Boolean>>> onVisibilityChangedProperty()
Обработчик изменения видимости окна JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, изменяет видимость объекта window.
Возвращает:
свойство onVisibilityChanged
См. также:
  • getOnVisibilityChanged()
  • setOnVisibilityChanged(EventHandler)

getCreatePopupHandler

public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
Получает значение свойства createPopupHandler.
Описание свойства:
Обработчик всплывающих окон JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, запрашивает создание всплывающего окна.

Для выполнения этого запроса обработчик может создать новое WebEngine, прикрепить обработчик видимости и (необязательно) обработчик изменения размера и вернуть созданный движок. Для блокирования всплывающего окна обработчик должен вернуть null.

По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.

Возвращает:
значение свойства createPopupHandler
См. также:
  • setCreatePopupHandler(Callback)
  • createPopupHandlerProperty()

setCreatePopupHandler

public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
Устанавливает значение свойства createPopupHandler.
Описание свойства:
Обработчик всплывающих окон JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, запрашивает создание всплывающего окна.

Для выполнения этого запроса обработчик может создать новое WebEngine, прикрепить обработчик видимости и (необязательно) обработчик изменения размера и вернуть созданный движок. Для блокирования всплывающего окна обработчик должен вернуть null.

По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.

Параметры:
handler - значение для свойства createPopupHandler
См. также:
  • getCreatePopupHandler()
  • createPopupHandlerProperty()

createPopupHandlerProperty

public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
Обработчик всплывающих окон JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, запрашивает создание всплывающего окна.

Для выполнения этого запроса обработчик может создать новое WebEngine, прикрепить обработчик видимости и (необязательно) обработчик изменения размера и вернуть созданный движок. Для блокирования всплывающего окна обработчик должен вернуть null.

По умолчанию установлен обработчик всплывающих окон, который открывает всплывающие окна в этом WebEngine.

Возвращает:
свойство createPopupHandler
См. также:
  • getCreatePopupHandler()
  • setCreatePopupHandler(Callback)

getConfirmHandler

public final Callback<String,Boolean> getConfirmHandler()
Получает значение свойства confirmHandler.
Описание свойства:
Обработчик подтверждения JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, вызывает функцию confirm.

Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.

Возвращает:
значение свойства confirmHandler
См. также:
  • setConfirmHandler(Callback)
  • confirmHandlerProperty()

setConfirmHandler

public final void setConfirmHandler(Callback<String,Boolean> handler)
Устанавливает значение свойства confirmHandler.
Описание свойства:
Обработчик подтверждения JavaScript. Этот обработчик вызывается, когда сценарий, выполняющийся на веб-странице, вызывает функцию confirm.

Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.

Параметры:
handler - значение для свойства confirmHandler
См. также:
  • getConfirmHandler()
  • confirmHandlerProperty()
END_OF_DOCUMENT_MARKER

confirmHandlerProperty

public final ObjectProperty<Callback<String,Boolean>> confirmHandlerProperty()
Свойство обработчика JavaScript confirm. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию confirm.

Реализация может отобразить диалоговое окно с опциями «Да» и «Нет» и вернуть выбор пользователя.

Возвращает:
свойство confirmHandler
См. также:
  • getConfirmHandler()
  • setConfirmHandler(Callback)

getPromptHandler

public final Callback<PromptData,String> getPromptHandler()
Получает значение свойства promptHandler.
Описание свойства:
Свойство обработчика JavaScript prompt. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию prompt.

Реализация может отобразить диалоговое окно с текстовым полем и вернуть введённый пользователем текст.

Возвращает:
значение свойства promptHandler
См. также:
  • setPromptHandler(Callback)
  • promptHandlerProperty()

setPromptHandler

public final void setPromptHandler(Callback<PromptData,String> handler)
Устанавливает значение свойства promptHandler.
Описание свойства:
Свойство обработчика JavaScript prompt. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию prompt.

Реализация может отобразить диалоговое окно с текстовым полем и вернуть введённый пользователем текст.

Параметры:
handler - значение для свойства promptHandler
См. также:
  • getPromptHandler()
  • promptHandlerProperty()

promptHandlerProperty

public final ObjectProperty<Callback<PromptData,String>> promptHandlerProperty()
Свойство обработчика JavaScript prompt. Этот обработчик вызывается, когда скрипт, выполняющийся на веб-странице, вызывает функцию prompt.

Реализация может отобразить диалоговое окно с текстовым полем и вернуть введённый пользователем текст.

Возвращает:
свойство promptHandler
См. также:
  • getPromptHandler()
  • setPromptHandler(Callback)

getOnError

public final EventHandler<WebErrorEvent> getOnError()
Получает значение свойства onError.
Описание свойства:
Обработчик событий, вызываемый при возникновении ошибки.
Значение по умолчанию:
null
Возвращает:
значение свойства onError
С момента:
JavaFX 8.0
См. также:
  • setOnError(EventHandler)
  • onErrorProperty()

setOnError

public final void setOnError(EventHandler<WebErrorEvent> handler)
Устанавливает значение свойства onError.
Описание свойства:
Обработчик событий, вызываемый при возникновении ошибки.
Значение по умолчанию:
null
Параметры:
handler - значение для свойства onError
С момента:
JavaFX 8.0
См. также:
  • getOnError()
  • onErrorProperty()

onErrorProperty

public final ObjectProperty<EventHandler<WebErrorEvent>> onErrorProperty()
Обработчик событий, вызываемый при возникновении ошибки.
Значение по умолчанию:
null
Возвращает:
свойство onError
С момента:
JavaFX 8.0
См. также:
  • getOnError()
  • setOnError(EventHandler)

load

public void load(String url)
Загружает веб-страницу в этот движок. Этот метод запускает асинхронную загрузку и возвращается немедленно.
Параметры:
url - URL веб-страницы для загрузки

loadContent

public void loadContent(String content)
Загружает заданное содержимое HTML напрямую. Этот метод полезен, когда у вас есть строка HTML, составленная в памяти, или загруженная из системы, недоступной через URL (например, текст HTML может быть получен из базы данных). Как и в случае с load(String), этот метод является асинхронным.
Параметры:
content - содержимое HTML для загрузки

loadContent

public void loadContent(String content, String contentType)
Загружает заданное содержимое напрямую. Этот метод полезен, когда у вас есть содержимое, составленное в памяти, или загруженное из системы, недоступной через URL (например, текст SVG может быть получен из базы данных). Как и в случае с load(String), этот метод является асинхронным. Этот метод также позволяет вам указать тип содержимого загружаемой строки и, таким образом, может поддерживать другие типы помимо просто HTML.
Параметры:
content - содержимое HTML для загрузки
contentType - тип загружаемого содержимого

reload

public void reload()
Перезагружает текущую страницу, загруженную по URL или непосредственно из строки в одном из методов loadContent.

getHistory

public WebHistory getHistory()
Возвращает объект истории сеанса.
Возвращает:
объект истории
С момента:
JavaFX 2.2

executeScript

public Object executeScript(String script)
Выполняет скрипт в контексте текущей страницы.
Параметры:
script - скрипт
Возвращает:
результат выполнения, преобразованный в объект Java по следующим правилам:
  • JavaScript Int32 преобразуется в java.lang.Integer
  • Другие JavaScript числа в java.lang.Double
  • JavaScript строка в java.lang.String
  • JavaScript 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.

print

public void print(PrinterJob job)
Печатает текущую веб-страницу с помощью заданного задания печати.

Этот метод не изменяет состояние задания, а также не вызывает PrinterJob.endJob(), поэтому задание можно безопасно повторно использовать после этого.

Параметры:
job - задание печати, используемое для печати
С момента:
JavaFX 8.0

Отправить отчет об ошибке или предложить улучшение
Авторское право © 2008, 2025, Oracle и/или его дочерние компании. Все права защищены.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API