/
Miha823
/
LogJournalMod
Обзор
Документация
Войти
/
Miha823
/
LogJournalMod
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/ru/popov/logjournalmod/PreloaderApp.java
70 строк
2 KB
mikhail
refactor path db
05 окт 2025, 00:28
05 окт 2025, 00:28
c0d393e
Код
Авторство
О чём код?
package ru.popov.logjournalmod; import javafx.application.Application; import javafx.application.Preloader; import javafx.scene.Scene; import javafx.scene.control.ProgressBar; import javafx.scene.control.ProgressIndicator; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; import javafx.stage.StageStyle; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.Objects; public class PreloaderApp extends Preloader { private StackPane parent = new StackPane(); private Stage preloaderStage; private ProgressIndicator progressIndicator; private static final Logger log = LogManager.getLogger(PreloaderApp.class.getName()); @Override public void init() throws Exception{ this.progressIndicator = new ProgressIndicator(0.0); this.progressIndicator.setMaxSize(500, 10); this.parent.getChildren().add(this.progressIndicator); } @Override public void start(Stage stage) throws Exception { this.preloaderStage = stage; // Image image = null; // try { // image = new Image(Objects.requireNonNull(MainApp.class.getResourceAsStream("img/angara.jpg"))); // } catch (Exception e){ // log.error(e.getMessage()); // } Scene scene = new Scene(parent, 1280, 720); stage.setScene(scene); stage.initStyle(StageStyle.UNDECORATED); stage.centerOnScreen(); stage.show(); log.info("Запуск приложения"); } @Override public void handleApplicationNotification(PreloaderNotification info){ if (info instanceof ProgressNotification){ double progress = ((ProgressNotification) info).getProgress(); this.progressIndicator.setProgress(progress); } } @Override public void handleStateChangeNotification(StateChangeNotification info){ if (info.getType() == StateChangeNotification.Type.BEFORE_START){ this.preloaderStage.close(); } } public static void main(String[] args) { System.setProperty("javafx.preloader", "ru.popov.logjournalmod.PreloaderApp"); Application.launch(MainApp.class, args); } }