Класс Preloader
public abstract class Preloader extends Application
Предварительный загрузчик — это небольшое приложение, которое запускается перед основным приложением для настройки процесса запуска. Предварительный загрузчик:
- получает уведомления о ходе загрузки ресурсов приложения
- получает уведомления об ошибках
- получает уведомления об инициализации и запуске приложения
- решает, когда приложение должно стать видимым
По умолчанию предварительный загрузчик отображается поверх Stage приложения, который не виден до тех пор, пока предварительный загрузчик не станет видимым. Предварительный загрузчик должен скрыть себя, чтобы сделать приложение видимым. Хорошей практикой является сделать это не ранее, чем непосредственно перед вызовом application.start(), так как в противном случае само приложение не будет видно.
Предварительный загрузчик также может взаимодействовать с приложением для достижения расширенных визуальных эффектов или обмена данными (например, для реализации экрана входа в систему). Предварительный загрузчик получает ссылку на приложение и может извлекать необходимые данные для взаимодействия из приложения, если приложение реализует интерфейс, о котором предварительный загрузчик знает и на котором он полагается. Обычно не рекомендуется разрабатывать предварительные загрузчики таким образом, чтобы приложение вызывало их напрямую, так как это приведет к плохой пользовательской работе, если приложение подписано, а предварительный загрузчик нет.
Если приложение не указывает предварительный загрузчик, используется предварительный загрузчик по умолчанию. Внешний вид предварительного загрузчика по умолчанию можно настроить (набор параметров подлежит уточнению).
Реализации пользовательских предварительных загрузчиков должны следовать этим правилам:
- класс пользовательского предварительного загрузчика должен расширять Preloader
- классы, необходимые для предварительного загрузчика, должны быть упакованы в отдельный jar.
Приложения также могут отправлять пользовательские уведомления предварительному загрузчику, используя метод notifyPreloader. Таким образом, предварительный загрузчик также может отображать прогресс инициализации приложения.
Обратите внимание, что предварительные загрузчики подчиняются тем же правилам, что и другие приложения JavaFX, включая правила потоков FX. В частности, конструктор класса и метод init() будут вызываться в потоке, не относящемся к FX, а start() будет выполняться в потоке приложения FX. Это также означает, что конструктор/init() приложения будет выполняться параллельно с запуском предварительного загрузчика.
Обработка обратных вызовов уведомлений предварительного загрузчика будет выполняться в потоке приложения FX.
Закрытие (включая при вызове stop()) подлежит уточнению.
- С момента:
- 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 |
Указывает уведомление, сгенерированное приложением. |
boolean |
handleErrorNotification |
Вызывается при возникновении ошибки. |
void |
handleProgressNotification |
Указывает прогресс загрузки. |
void |
handleStateChangeNotification |
Указывает изменение состояния приложения. |
Методы, объявленные в классе javafx.application.Application
getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, start, stop
Подробное описание конструкторов
Preloader
public Preloader()
Подробное описание методов
handleProgressNotification
public void handleProgressNotification(Preloader.ProgressNotification info)
notifyPreloader.
Реализация этого метода, предоставленная классом Preloader, ничего не делает.
- Параметры:
-
info- уведомление о прогрессе
handleStateChangeNotification
public void handleStateChangeNotification(Preloader.StateChangeNotification info)
Реализация этого метода, предоставленная классом Preloader, ничего не делает.
- Параметры:
-
info- уведомление о изменении состояния
handleApplicationNotification
public void handleApplicationNotification(Preloader.PreloaderNotification info)
notifyPreloader.
Приложения не должны вызывать этот метод напрямую, а вместо этого должны использовать notifyPreloader, чтобы избежать проблем с диалогом смешанного кода.
Реализация этого метода, предоставленная классом Preloader, ничего не делает.
- Параметры:
-
info- уведомление, сгенерированное приложением
handleErrorNotification
public boolean handleErrorNotification(Preloader.ErrorNotification info)
Реализация этого метода, предоставленная классом Preloader, возвращает false, указывая, что обработчик ошибок по умолчанию должен отобразить сообщение пользователю.
- Параметры:
-
info- уведомление об ошибке, описывающее причину ошибки - Возвращает:
- 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.