diff --git a/src/de/deadlocker8/loadingbar/main/Main.java b/src/de/deadlocker8/loadingbar/main/Main.java index 01f73b3645f07072c2010e51214da9eb12aca32a..f790c04b7373f49ffaefee6340311ddb9be85058 100644 --- a/src/de/deadlocker8/loadingbar/main/Main.java +++ b/src/de/deadlocker8/loadingbar/main/Main.java @@ -26,7 +26,7 @@ public class Main extends Application FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("de/deadlocker8/loadingbar/ui/GUI.fxml")); Parent root = (Parent)loader.load(); - Scene scene = new Scene(root, 600, 600); + Scene scene = new Scene(root, 600, 500); ((Controller)loader.getController()).init(stage); diff --git a/src/de/deadlocker8/loadingbar/ui/Controller.java b/src/de/deadlocker8/loadingbar/ui/Controller.java index fea7a160de1416727465312d8765c43ed1fd311d..7d6c66f1c3907928d95fbf199fe68e2f36e61f95 100644 --- a/src/de/deadlocker8/loadingbar/ui/Controller.java +++ b/src/de/deadlocker8/loadingbar/ui/Controller.java @@ -37,6 +37,7 @@ public class Controller private int targetPercentage; private boolean swapped; private final String BACKGROUND_COLOR = "#333333"; + private boolean running; public void init(Stage stage) { @@ -50,31 +51,43 @@ public class Controller labelUser.setStyle("-fx-text-fill: white; -fx-font-size: 30; -fx-font-weight: bold;"); labelMessage.setStyle("-fx-text-fill: white; -fx-font-size: 30; -fx-font-weight: bold;"); buttonStop.setStyle("-fx-background-color: transparent; -fx-border-color: white; -fx-border-width: 3; -fx-border-radius: 0; -fx-text-fill: white;"); + + buttonStop.setText("START"); } - public void buttonStart() + public void start() { if(swapped) { swapProgressBars(); swapped = false; } + + running = true; + buttonStop.setText("STOP"); Random random = new Random(); - targetPercentage = 15 + random.nextInt(90 - 15 + 1); + targetPercentage = 20 + random.nextInt(90 - 20 + 1); labelTarget.setText(String.valueOf(targetPercentage)); labelUser.setText(""); labelMessage.setText(""); progressBarTarget.setProgress(0.0); - progressBar.setProgress(0.0); + progressBar.setProgress(0.0); timer = new CountdownTimer(4.0, this); } public void buttonStop() { - stop(timer.stop()); + if(running) + { + stop(timer.stop()); + } + else + { + start(); + } } public void updateProgress(double value) @@ -91,6 +104,9 @@ public class Controller public void stop(double value) { + running = false; + buttonStop.setText("START"); + int userPercentage = (int)(value * 100); labelUser.setText(String.valueOf(userPercentage)); progressBar.setProgress(userPercentage / 100.0); diff --git a/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java b/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java index ce1d76ff5e8424116c2426af746dac77e03ec754..2a3f7a67cdf9a4f7c32aa79b81c6771714161c45 100644 --- a/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java +++ b/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java @@ -23,7 +23,7 @@ public class CountdownTimer public void start() { - time = 0.0; + time = 0.0; task = new TimerTask() { @@ -61,8 +61,7 @@ public class CountdownTimer public double stop() { timer.cancel(); - timer.purge(); - + timer.purge(); return time / count; } diff --git a/src/de/deadlocker8/loadingbar/ui/GUI.fxml b/src/de/deadlocker8/loadingbar/ui/GUI.fxml index 86bc411088336a37ffdb68d771098191ae37a425..2fe5945835536b96616866adf3be6fc1047f98c5 100644 --- a/src/de/deadlocker8/loadingbar/ui/GUI.fxml +++ b/src/de/deadlocker8/loadingbar/ui/GUI.fxml @@ -9,7 +9,7 @@ <?import javafx.scene.layout.VBox?> <?import javafx.scene.text.Font?> -<AnchorPane fx:id="mainPane" prefHeight="400.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.loadingbar.ui.Controller"> +<AnchorPane fx:id="mainPane" prefHeight="450.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.loadingbar.ui.Controller"> <children> <VBox alignment="TOP_CENTER" layoutX="25.0" layoutY="16.0" prefHeight="363.0" prefWidth="350.0" AnchorPane.bottomAnchor="25.0" AnchorPane.leftAnchor="25.0" AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="25.0"> <children> @@ -53,17 +53,12 @@ </Label> <Button fx:id="buttonStop" mnemonicParsing="false" onAction="#buttonStop" text="STOP"> <VBox.margin> - <Insets top="20.0" /> + <Insets top="40.0" /> </VBox.margin> <font> <Font name="System Bold" size="24.0" /> </font> </Button> - <Button mnemonicParsing="false" onAction="#buttonStart" text="Start"> - <VBox.margin> - <Insets top="50.0" /> - </VBox.margin> - </Button> </children> </VBox> </children>