Spec-Zone.ru › OpenJavaFX 17

Класс Preloader

java.lang.Object
javafx.application.Application
javafx.application.Preloader
public abstract class Preloader
extends Application
Класс, который расширяется для определения необязательного предварительного загрузчика для приложения JavaFX. Приложение может содержать предварительный загрузчик, который используется для улучшения опыта загрузки приложения.

Предварительный загрузчик — это небольшое приложение, которое запускается до основного приложения, чтобы настроить опыт запуска. Предварительный загрузчик:

  • получает уведомления о ходе загрузки ресурсов приложения
  • получает уведомления об ошибках
  • получает уведомления об инициализации и запуске приложения
  • решает, когда приложение должно стать видимым

По умолчанию предварительный загрузчик отображается поверх сцены приложения Stage, которая не видна до тех пор, пока предварительный загрузчик не станет видимым. Предварительный загрузчик должен скрыть себя, чтобы сделать приложение видимым. Хорошей практикой является выполнение этого не ранее, чем непосредственно перед вызовом application.start(), так как в противном случае само приложение не будет видно.

Предварительный загрузчик также может взаимодействовать с приложением для достижения расширенных визуальных эффектов или обмена данными (например, для реализации экрана входа в систему). Предварительный загрузчик получает ссылку на приложение и может извлечь данные, необходимые для взаимодействия, из приложения, если приложение реализует интерфейс, о котором знает и на который полагается предварительный загрузчик. Как правило, не рекомендуется проектировать предварительные загрузчики таким образом, чтобы приложение вызывало их напрямую, так как это приведет к плохому пользовательскому опыту, если приложение подписано, а предварительный загрузчик — нет.

Если приложение не указывает предварительный загрузчик, используется предварительный загрузчик по умолчанию. Внешний вид предварительного загрузчика по умолчанию можно настроить (набор параметров TBD).

Реализации пользовательских предварительных загрузчиков должны соответствовать этим правилам:

  1. класс пользовательского предварительного загрузчика должен расширять Preloader
  2. классы, необходимые для предварительного загрузчика, должны быть упакованы в отдельный jar-файл.

Приложения также могут отправлять пользовательские уведомления предварительному загрузчику, используя метод notifyPreloader. Таким образом, предварительный загрузчик также может отображать прогресс инициализации приложения.

Обратите внимание, что предварительные загрузчики подчиняются тем же правилам, что и другие приложения JavaFX, включая правила потоков FX. В частности, конструктор класса и метод init() будут вызываться в не-FX потоке, а start() будет выполняться в потоке FX приложения. Это также означает, что конструктор/init() приложения будут выполняться параллельно с запуском предварительного загрузчика.

Обработчики уведомлений предварительного загрузчика будут передаваться в потоке FX приложения.

Выключение (включая при вызове stop()) TBD.

Since:
JavaFX 2.0

Краткое описание вложенных классов

Вложенные классы
Модификатор и тип Класс Описание
static class  Preloader.ErrorNotification
Уведомление о предварительном загрузчике, которое сообщает об ошибке.
static interface  Preloader.PreloaderNotification
Интерфейс-маркер для всех уведомлений о предварительном загрузчике.
static class  Preloader.ProgressNotification
Уведомление о предварительном загрузчике, которое сообщает о ходе выполнения.
static class  Preloader.StateChangeNotification
Уведомление, которое сигнализирует о изменении состояния приложения.

Вложенные классы/интерфейсы, объявленные в классе javafx.application.Application

Application.Parameters

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

Объявленные в классе поля javafx.application.Application

STYLESHEET_CASPIAN, STYLESHEET_MODENA

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

Конструкторы
Конструктор Описание
Preloader()
Конструктор для вызова подклассами.

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

Модификатор и тип Метод Описание
void handleApplicationNotification​(Preloader.PreloaderNotification info)
Указывает уведомление, сгенерированное приложением.
boolean handleErrorNotification​(Preloader.ErrorNotification info)
Вызывается при возникновении ошибки.
void handleProgressNotification​(Preloader.ProgressNotification info)
Указывает ход выполнения загрузки.
void handleStateChangeNotification​(Preloader.StateChangeNotification info)
Указывает изменение состояния приложения.

Объявленные в классе методы javafx.application.Application

getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, start, stop

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

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

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

Preloader

public Preloader()
Конструктор для вызова подклассами.

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

handleProgressNotification

public void handleProgressNotification(Preloader.ProgressNotification info)
Указывает ход выполнения загрузки. Этот метод вызывается средой выполнения FX для указания хода выполнения, в то время как ресурсы приложения загружаются. Он не будет вызываться для доставки ProgressNotification, отправленного в notifyPreloader.

Реализация этого метода, предоставленная классом Preloader, ничего не делает.

Parameters:
info - уведомление о ходе выполнения

handleStateChangeNotification

public void handleStateChangeNotification(Preloader.StateChangeNotification info)
Указывает изменение состояния приложения. Этот метод вызывается средой выполнения FX как часть жизненного цикла приложения.

Реализация этого метода, предоставленная классом Preloader, ничего не делает.

Parameters:
info - уведомление об изменении состояния

handleApplicationNotification

public void handleApplicationNotification(Preloader.PreloaderNotification info)
Указывает уведомление, сгенерированное приложением. Этот метод вызывается средой выполнения FX для доставки уведомления, отправленного через notifyPreloader.

Приложения не должны вызывать этот метод напрямую, а должны использовать notifyPreloader вместо этого, чтобы избежать проблем с диалогом смешанного кода.

Реализация этого метода, предоставленная классом Preloader, ничего не делает.

Parameters:
info - уведомление, сгенерированное приложением

handleErrorNotification

public boolean handleErrorNotification(Preloader.ErrorNotification info)
Вызывается при возникновении ошибки.

Реализация этого метода, предоставленная классом Preloader, возвращает false, указывая, что обработчик ошибок по умолчанию должен отобразить сообщение пользователю.

Parameters:
info - уведомление об ошибке, описывающее причину этой ошибки
Returns:
true, если ошибка была показана пользователю предварительным загрузчиком и дополнительная визуализация не требуется; в противном случае, false.

© 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