|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class WebEngine
extends java.lang.Object
WebEngine невидимый объект, способный к управлению одной Веб-страницей за один раз. Это загружает Веб-страницы, создает их модели документа, применяет стили по мере необходимости, и выполняет JavaScript на страницах. Это обеспечивает доступ к модели документа текущей страницы, и включает двухсторонней передаче между приложением Java и кодом JavaScript страницы. WebEngine class обеспечивает два способа загрузить контент в a WebEngine объект:
load(java.lang.String) метод. Этот метод использует java.net пакет для сетевого доступа и обработки протокола. loadContent(java.lang.String, java.lang.String) и loadContent(java.lang.String) методы. Загрузка всегда происходит на фоновом потоке. Методы, которые сразу инициируют загружающийся возврат после планирования фонового задания. Чтобы отследить продвижение и/или отменить задание, используйте Worker экземпляр, доступный от getLoadWorker() метод.
Следующий пример изменяет этап title, когда загрузка завершается успешно:
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");
Много обратных вызовов пользовательского интерфейса могут быть зарегистрированы в a WebEngine объект. Эти обратные вызовы вызываются, когда сценарий, работающий на странице, запрашивает работу пользовательского интерфейса выполняться, например, открывает всплывающее окно или изменяет текст состояния. A 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 объекты создают и управляют Объектной моделью документа (ДОМ) для их Веб-страниц. К модели можно получить доступ и изменила Java использования классы ДОМА Кора. getDocument() метод обеспечивает доступ к корню модели. Дополнительно спецификация ДОМА Эвента поддерживается, чтобы определить обработчики событий в коде 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 в контексте текущей страницы, используя executeScript(java.lang.String) метод. Например:
webEngine.executeScript("history.back()");
Результат выполнения возвращается к вызывающей стороне, как описано в следующем разделе.
java.lang.Boolean; и строка становится a java.lang.String. Число может быть java.lang.Double или a java.lang.Integer, завися. Неопределенные карты ценности к определенной уникальной Строке возражают, чье значение "undefined". Если результатом является объект JavaScript, он обертывается как экземпляр JSObject class. (Как особый случай, если объект JavaScript является a JavaRuntimeObject как обсуждено в следующем разделе, тогда исходный объект Java извлекается вместо этого.) JSObject class является прокси, который обеспечивает доступ к методам и свойствам его базового объекта JavaScript. Обычно используемый JSObject методы getMember (чтобы считать именованное свойство), setMember (чтобы установить или определить свойство), и call (чтобы вызвать функциональное свойство, передаваемое по значению,).
ДОМ Node отображается на объект, который оба расширяют JSObject и реализует соответствующие интерфейсы ДОМА. Получить a JSObject объект для a Node только сделайте бросок:
JSObject jdoc = (JSObject) webEngine.getDocument();
В некоторых случаях контекст обеспечивает определенный тип Java, который ведет преобразование. Например, устанавливая Java String поле от выражения JavaScript, тогда значение JavaScript преобразовывается в строку.
JSObject методы setMember и call Java передачи возражает против среды JavaScript. Это - примерно инверсия отображения JavaScript к Java, описанного выше: Java String, Number, или Boolean объекты преобразовываются в очевидные значения JavaScript. A JSObject объект преобразовывается в исходный обернутый объект JavaScript. Иначе a JavaRuntimeObject создается. Это - объект JavaScript, который действует как прокси для объекта Java в том доступе свойства JavaRuntimeObject заставляет поле Java или метод с тем же самым именем быть полученным доступ. JSObject.setMember метод полезен, чтобы включить upcalls от JavaScript в код Java, как иллюстрировано следующим примером. Код Java устанавливает новый названный объект JavaScript app. У этого объекта есть один общедоступный элемент, метод exit.
public class JavaApplication {
public void exit() {
Platform.exit();
}
}
...
JSObject window = (JSObject) webEngine.executeScript("window");
window.setMember("app", new JavaApplication());
Можно тогда обратиться к объекту и методу от Вашей страницы HTML:
<a href="" onclick="app.exit()">Click here to exit application</a>
Когда пользователь щелкает по ссылке, приложение закрывается.
Если есть многократные методы Java с именем, то механизм выбирает тот, соответствующий число параметров в вызове. (Varargs не обрабатываются.) Неуказанный выбирается, если есть многократные с корректным числом параметров.
Можно выбрать определенный перегруженный метод, перечисляя параметр, вводит расширенное имя метода
, у которого есть форма "method_name(param_type1,...,param_typen)". Обычно Вы записали бы выражение JavaScript:
receiver["method_name(param_type1,...,param_typeN)"](arg1,...,argN)
WebEngine объекты должны быть созданы и получены доступ исключительно от потока Приложения JavaFX. Это правило также применяется к любому ДОМУ и объектам JavaScript, полученным из WebEngine объект.
| Ввести | Свойство и Описание |
|---|---|
ObjectProperty<Callback<java.lang.String,java.lang.Boolean>> |
confirmHandler
JavaScript
confirm свойство обработчика. |
ObjectProperty<Callback<PopupFeatures,WebEngine>> |
createPopupHandler
JavaScript раскрывающееся свойство обработчика.
|
ReadOnlyObjectProperty<org.w3c.dom.Document> |
документ
Объект документа для текущей Веб-страницы.
|
BooleanProperty |
javaScriptEnabled
Определяет, включается ли выполнение JavaScript.
|
ReadOnlyStringProperty |
расположение
URL текущей Веб-страницы.
|
ObjectProperty<EventHandler<WebEvent<java.lang.String>>> |
onAlert
JavaScript
alert свойство обработчика. |
ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> |
onResized
Окно JavaScript изменяет размеры свойства обработчика.
|
ObjectProperty<EventHandler<WebEvent<java.lang.String>>> |
onStatusChanged
Свойство обработчика состояния JavaScript.
|
ObjectProperty<EventHandler<WebEvent<java.lang.Boolean>>> |
onVisibilityChanged
Свойство обработчика видимости окна JavaScript.
|
ObjectProperty<Callback<PromptData,java.lang.String>> |
promptHandler
JavaScript
prompt свойство обработчика. |
ReadOnlyStringProperty |
title
Заголовок текущей Веб-страницы.
|
StringProperty |
userStyleSheetLocation
Расположение пользовательской таблицы стилей как строка URL.
|
| Конструктор и Описание |
|---|
WebEngine()
Создает новый механизм.
|
WebEngine(java.lang.String url)
Создает новый механизм и загружает Веб-страницу в это.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
ObjectProperty<Callback<java.lang.String,java.lang.Boolean>> |
confirmHandlerProperty()
JavaScript
confirm свойство обработчика. |
ObjectProperty<Callback<PopupFeatures,WebEngine>> |
createPopupHandlerProperty()
JavaScript раскрывающееся свойство обработчика.
|
ReadOnlyObjectProperty<org.w3c.dom.Document> |
documentProperty()
Объект документа для текущей Веб-страницы.
|
java.lang.Object |
executeScript(java.lang.String script)
Выполняет сценарий в контексте текущей страницы.
|
Callback<java.lang.String,java.lang.Boolean> |
getConfirmHandler()
Возвращает JavaScript
confirm обработчик. |
Callback<PopupFeatures,WebEngine> |
getCreatePopupHandler()
Возвращает JavaScript раскрывающийся обработчик.
|
org.w3c.dom.Document |
getDocument()
Возвращает объект документа для текущей Веб-страницы.
|
WebHistory |
getHistory()
Возвращает объект истории сеанса.
|
Worker<java.lang.Void> |
getLoadWorker()
Возвраты a
Worker объект, который может использоваться, чтобы отследить загружающееся продвижение. |
java.lang.String |
getLocation()
Возвраты URL текущей Веб-страницы.
|
EventHandler<WebEvent<java.lang.String>> |
getOnAlert()
Возвращает JavaScript
alert обработчик. |
EventHandler<WebEvent<Rectangle2D>> |
getOnResized()
Возвращается окно JavaScript изменяют размеры обработчика.
|
EventHandler<WebEvent<java.lang.String>> |
getOnStatusChanged()
Возвращает обработчик состояния JavaScript.
|
EventHandler<WebEvent<java.lang.Boolean>> |
getOnVisibilityChanged()
Возвращает обработчик видимости окна JavaScript.
|
Callback<PromptData,java.lang.String> |
getPromptHandler()
Возвращает JavaScript
prompt обработчик. |
java.lang.String |
getTitle()
Возвраты title текущей Веб-страницы.
|
java.lang.String |
getUserStyleSheetLocation()
Получает значение свойства userStyleSheetLocation.
|
boolean |
isJavaScriptEnabled()
Получает значение свойства javaScriptEnabled.
|
BooleanProperty |
javaScriptEnabledProperty()
Определяет, включается ли выполнение JavaScript.
|
void |
load(java.lang.String url)
Загружает Веб-страницу в этот механизм.
|
void |
loadContent(java.lang.String content)
Загружает данный контент HTML непосредственно.
|
void |
loadContent(java.lang.String content, java.lang.String contentType)
Загружает данный контент непосредственно.
|
ReadOnlyStringProperty |
locationProperty()
URL текущей Веб-страницы.
|
ObjectProperty<EventHandler<WebEvent<java.lang.String>>> |
onAlertProperty()
JavaScript
alert свойство обработчика. |
ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> |
onResizedProperty()
Окно JavaScript изменяет размеры свойства обработчика.
|
ObjectProperty<EventHandler<WebEvent<java.lang.String>>> |
onStatusChangedProperty()
Свойство обработчика состояния JavaScript.
|
ObjectProperty<EventHandler<WebEvent<java.lang.Boolean>>> |
onVisibilityChangedProperty()
Свойство обработчика видимости окна JavaScript.
|
ObjectProperty<Callback<PromptData,java.lang.String>> |
promptHandlerProperty()
JavaScript
prompt свойство обработчика. |
void |
reload()
Перезагружает текущую страницу, загруженный ли из URL или непосредственно из Строки в одном из
loadContent методы. |
void |
setConfirmHandler(Callback<java.lang.String,java.lang.Boolean> handler)
Устанавливает JavaScript
confirm обработчик. |
void |
setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
Устанавливает JavaScript раскрывающийся обработчик.
|
void |
setJavaScriptEnabled(boolean value)
Устанавливает значение свойства javaScriptEnabled.
|
void |
setOnAlert(EventHandler<WebEvent<java.lang.String>> handler)
Устанавливает JavaScript
alert обработчик. |
void |
setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
Наборы окно JavaScript изменяют размеры обработчика.
|
void |
setOnStatusChanged(EventHandler<WebEvent<java.lang.String>> handler)
Устанавливает обработчик состояния JavaScript.
|
void |
setOnVisibilityChanged(EventHandler<WebEvent<java.lang.Boolean>> handler)
Устанавливает обработчик видимости окна JavaScript.
|
void |
setPromptHandler(Callback<PromptData,java.lang.String> handler)
Устанавливает JavaScript
prompt обработчик. |
void |
setUserStyleSheetLocation(java.lang.String value)
Устанавливает значение свойства userStyleSheetLocation.
|
ReadOnlyStringProperty |
titleProperty()
Заголовок текущей Веб-страницы.
|
StringProperty |
userStyleSheetLocationProperty()
Расположение пользовательской таблицы стилей как строка URL.
|
public final ReadOnlyObjectProperty<org.w3c.dom.Document> documentProperty
null если Веб-страница, отказавшая, чтобы загрузиться.getDocument()public final ReadOnlyStringProperty locationProperty
getLocation()public final ReadOnlyStringProperty titleProperty
null.getTitle()public final BooleanProperty javaScriptEnabledProperty
isJavaScriptEnabled(), setJavaScriptEnabled(boolean)public final StringProperty userStyleSheetLocationProperty
Это должно быть локальным URL, то есть также 'data:', 'file:', или 'jar:'. Удаленные URL не позволяются для соображений безопасности.
getUserStyleSheetLocation(), setUserStyleSheetLocation(String)public final ObjectProperty<EventHandler<WebEvent<java.lang.String>>> onAlertProperty
alert свойство обработчика. Этот обработчик вызывается, когда сценарий, работающий на Веб-странице, вызывает alert функция.getOnAlert(), setOnAlert(EventHandler)public final ObjectProperty<EventHandler<WebEvent<java.lang.String>>> onStatusChangedProperty
window.status свойство.public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty
window объект.getOnResized(), setOnResized(EventHandler)public final ObjectProperty<EventHandler<WebEvent<java.lang.Boolean>>> onVisibilityChangedProperty
window объект.public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty
Чтобы удовлетворить этот запрос, обработчик может создать новое WebEngine, присоедините обработчик видимости и дополнительно изменять размеры обработчик, и возвратите недавно создаваемый механизм. Чтобы блокировать раскрывающееся, обработчик должен возвратиться null.
По умолчанию раскрывающийся обработчик устанавливается, который открывается, раскрывается в этом WebEngine.
public final ObjectProperty<Callback<java.lang.String,java.lang.Boolean>> confirmHandlerProperty
confirm свойство обработчика. Этот обработчик вызывается, когда сценарий, работающий на Веб-странице, вызывает confirm функция. Реализация может вывести на экран диалоговое окно с опциями Yes и No, и возвратить выбор пользователя.
getConfirmHandler(), setConfirmHandler(Callback)public final ObjectProperty<Callback<PromptData,java.lang.String>> promptHandlerProperty
prompt свойство обработчика. Этот обработчик вызывается, когда сценарий, работающий на Веб-странице, вызывает prompt функция. Реализация может вывести на экран диалоговое окно с текстовым полем, и возвратить ввод пользователя.
PromptData, getPromptHandler(), setPromptHandler(Callback)public WebEngine()
public WebEngine(java.lang.String url)
public final Worker<java.lang.Void> getLoadWorker()
Worker объект, который может использоваться, чтобы отследить загружающееся продвижение.public final org.w3c.dom.Document getDocument()
null.public final ReadOnlyObjectProperty<org.w3c.dom.Document> documentProperty()
null если Веб-страница, отказавшая, чтобы загрузиться.getDocument()public final java.lang.String getLocation()
public final ReadOnlyStringProperty locationProperty()
getLocation()public final java.lang.String getTitle()
null.public final ReadOnlyStringProperty titleProperty()
null.getTitle()public final void setJavaScriptEnabled(boolean value)
public final boolean isJavaScriptEnabled()
public final BooleanProperty javaScriptEnabledProperty()
isJavaScriptEnabled(), setJavaScriptEnabled(boolean)public final void setUserStyleSheetLocation(java.lang.String value)
Это должно быть локальным URL, то есть также 'data:', 'file:', или 'jar:'. Удаленные URL не позволяются для соображений безопасности.
public final java.lang.String getUserStyleSheetLocation()
Это должно быть локальным URL, то есть также 'data:', 'file:', или 'jar:'. Удаленные URL не позволяются для соображений безопасности.
public final StringProperty userStyleSheetLocationProperty()
Это должно быть локальным URL, то есть также 'data:', 'file:', или 'jar:'. Удаленные URL не позволяются для соображений безопасности.
getUserStyleSheetLocation(), setUserStyleSheetLocation(String)public final EventHandler<WebEvent<java.lang.String>> getOnAlert()
alert обработчик.public final void setOnAlert(EventHandler<WebEvent<java.lang.String>> handler)
alert обработчик.onAlertProperty(), getOnAlert()public final ObjectProperty<EventHandler<WebEvent<java.lang.String>>> onAlertProperty()
alert свойство обработчика. Этот обработчик вызывается, когда сценарий, работающий на Веб-странице, вызывает alert функция.getOnAlert(), setOnAlert(EventHandler)public final EventHandler<WebEvent<java.lang.String>> getOnStatusChanged()
public final void setOnStatusChanged(EventHandler<WebEvent<java.lang.String>> handler)
onStatusChangedProperty(), getOnStatusChanged()public final ObjectProperty<EventHandler<WebEvent<java.lang.String>>> onStatusChangedProperty()
window.status свойство.public final EventHandler<WebEvent<Rectangle2D>> getOnResized()
public final void setOnResized(EventHandler<WebEvent<Rectangle2D>> handler)
onResizedProperty(), getOnResized()public final ObjectProperty<EventHandler<WebEvent<Rectangle2D>>> onResizedProperty()
window объект.getOnResized(), setOnResized(EventHandler)public final EventHandler<WebEvent<java.lang.Boolean>> getOnVisibilityChanged()
public final void setOnVisibilityChanged(EventHandler<WebEvent<java.lang.Boolean>> handler)
public final ObjectProperty<EventHandler<WebEvent<java.lang.Boolean>>> onVisibilityChangedProperty()
window объект.public final Callback<PopupFeatures,WebEngine> getCreatePopupHandler()
public final void setCreatePopupHandler(Callback<PopupFeatures,WebEngine> handler)
public final ObjectProperty<Callback<PopupFeatures,WebEngine>> createPopupHandlerProperty()
Чтобы удовлетворить этот запрос, обработчик может создать новое WebEngine, присоедините обработчик видимости и дополнительно изменять размеры обработчик, и возвратите недавно создаваемый механизм. Чтобы блокировать раскрывающееся, обработчик должен возвратиться null.
По умолчанию раскрывающийся обработчик устанавливается, который открывается, раскрывается в этом WebEngine.
public final Callback<java.lang.String,java.lang.Boolean> getConfirmHandler()
confirm обработчик.public final void setConfirmHandler(Callback<java.lang.String,java.lang.Boolean> handler)
confirm обработчик.confirmHandlerProperty(), getConfirmHandler()public final ObjectProperty<Callback<java.lang.String,java.lang.Boolean>> confirmHandlerProperty()
confirm свойство обработчика. Этот обработчик вызывается, когда сценарий, работающий на Веб-странице, вызывает confirm функция. Реализация может вывести на экран диалоговое окно с опциями Yes и No, и возвратить выбор пользователя.
getConfirmHandler(), setConfirmHandler(Callback)public final Callback<PromptData,java.lang.String> getPromptHandler()
prompt обработчик.public final void setPromptHandler(Callback<PromptData,java.lang.String> handler)
prompt обработчик.promptHandlerProperty(), getPromptHandler(), PromptDatapublic final ObjectProperty<Callback<PromptData,java.lang.String>> promptHandlerProperty()
prompt свойство обработчика. Этот обработчик вызывается, когда сценарий, работающий на Веб-странице, вызывает prompt функция. Реализация может вывести на экран диалоговое окно с текстовым полем, и возвратить ввод пользователя.
PromptData, getPromptHandler(), setPromptHandler(Callback)public void load(java.lang.String url)
url - URL веб-страницы, чтобы загрузитьсяpublic void loadContent(java.lang.String content)
load(String), этот метод является асинхронным.public void loadContent(java.lang.String content,
java.lang.String contentType)
load(String), этот метод является асинхронным. Этот метод также позволяет Вам определять тип контента строки, загружаемой, и так может дополнительно поддерживать другие типы помимо только HTML.public void reload()
loadContent методы.public WebHistory getHistory()
public java.lang.Object executeScript(java.lang.String script)
java.lang.Integer
java.lang.Double
java.lang.String
java.lang.Boolean
null к null
netscape.javascript.JSObject
netscape.javascript.JSObject, это также реализует org.w3c.dom.Node
JavaRuntimeObject который используется, чтобы обернуть объект Java как значение JavaScript - в этом случае мы только извлекаем исходное значение Java. Copyright (c) 2008, 2012, Oracle и/или его филиалы. Все права защищены. Использование подвергается .