Свойство location возвращает URL-адрес отображаемой Web-страницы, а свойства title и document обеспечивают доступ к заголовку и документу Web-страницы.
Свойства confirmHandler, createPopupHandler, onAlert, onResized, onStatusChanged, onVisibilityChanged и promptHandler обеспечивают обработку событий Web-страницы.
За асинхронную загрузку Web-страницы на основе URL-адреса отвечает метод load класса WebEngine, а за обновление Web-страницы – метод reload.
Метод loadContent класса WebEngine позволяет отобразить Web-станицу на основе строки HTML-разметки.
Методы getLoadWorker и executeScript класса WebEngine позволяют отследить прогресс загрузки Web-страницы и выполнить JavaScript-код в контексте загруженной Web-страницы.
Объект Worker, возвращаемый методом getLoadWorker – это объект, который выполняет работу в одном или нескольких фоновых потоках, и его состояние является наблюдаемым и доступным и может использоваться из основного потока приложения.
Фоновые вычисления JavaFX мы рассмотрим позднее.
В этом примере мы создаем встроенный веб-браузер.
Мы создаем узел WebView, устанавливаем его размеры, методом getEngine получаем созданный средой выполнения объект WebEngine и загружаем первоначальный HTML контент.
Далее мы создаем текстовое поле для ввода веб адреса.
При нажатии клавиши Enter срабатывает обработчик события этого поля, и WebEngine пытается загрузить HTML контент по введенному пользователем веб адресу.
Здесь мы присоединили слушатель свойства location WebEngine, и как только открывается новая страница, ее адрес автоматически отображается в текстовом поле.
Также мы создали индикатор загрузки веб станицы.
Для WebEngine мы получаем фоновую задачу Worker и присоединяем к ней слушатель свойства progress.