package fxlauncher; import javafx.geometry.Insets; import javafx.scene.Parent; import javafx.scene.control.Label; import javafx.scene.control.ProgressBar; import javafx.scene.control.ProgressIndicator; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class DefaultUIProvider implements UIProvider { private ProgressBar progressBar; public Parent createLoader() { StackPane root = new StackPane(new ProgressIndicator()); root.setPrefSize(200, 80); root.setPadding(new Insets(10)); return root; } public Parent createUpdater(FXManifest manifest) { progressBar = new ProgressBar(); progressBar.setStyle(manifest.progressBarStyle); Label label = new Label(manifest.updateText); label.setStyle(manifest.updateLabelStyle); VBox wrapper = new VBox(label, progressBar); wrapper.setStyle(manifest.wrapperStyle); return wrapper; } public void updateProgress(double progress) { progressBar.setProgress(progress); } public void init(Stage stage) { } }