diff --git a/src/main/java/org/example/chaosgame/MainApp.java b/src/main/java/org/example/chaosgame/MainApp.java index e27382c6cafc34072b54d37b911fb616a6c4d7aa..ce07227e3f000ebf54bacca8dd4065d1548cb5a9 100644 --- a/src/main/java/org/example/chaosgame/MainApp.java +++ b/src/main/java/org/example/chaosgame/MainApp.java @@ -21,12 +21,10 @@ public class MainApp extends Application { new PageController(mainPane, chaosGameController, exploreGameController); Scene scene = new Scene(mainPane, 1200, 800); - mainPane.prefWidthProperty().bind(scene.widthProperty()); - mainPane.prefHeightProperty().bind(scene.heightProperty()); scene.getStylesheets().add(Objects.requireNonNull(getClass().getResource("/global.css")).toExternalForm()); - primaryStage.setMinWidth(800); - primaryStage.setMinHeight(600); + primaryStage.setMinWidth(1000); + primaryStage.setMinHeight(650); primaryStage.setScene(scene); primaryStage.setTitle("Chaos Game Canvas"); diff --git a/src/main/java/org/example/chaosgame/view/ChaosPage.java b/src/main/java/org/example/chaosgame/view/ChaosPage.java index f4abc3c32a3d3d89f70791764fe1fe0745fffbf3..dcb8ea12ae40fbbebf7e2780c296c74dce6a7249 100644 --- a/src/main/java/org/example/chaosgame/view/ChaosPage.java +++ b/src/main/java/org/example/chaosgame/view/ChaosPage.java @@ -27,15 +27,14 @@ public class ChaosPage extends GamePage { this.bottomBar.getStyleClass().add("chaos-text"); SideBar sideBar = new SideBar(chaosGameController); + this.setCenter(gc.getCanvas()); this.setTop(topBar); this.setRight(sideBar); this.setBottom(bottomBar); - this.setLeft(gc.getCanvas()); - } public void updateInformation(Transform2D transformation, int steps, Vector2D min, Vector2D max) { - topBar.updateTopBar(transformation, steps, min, max); + topBar.updateTotalTopBar(transformation, steps, min, max); bottomBar.updateBottomBar(transformation); } diff --git a/src/main/java/org/example/chaosgame/view/components/BottomBar.java b/src/main/java/org/example/chaosgame/view/components/BottomBar.java index be58ff8f806550a3ead73e8030018319db28e4b9..00bbce706055989534d0c11eb4268403a210b4f8 100644 --- a/src/main/java/org/example/chaosgame/view/components/BottomBar.java +++ b/src/main/java/org/example/chaosgame/view/components/BottomBar.java @@ -32,16 +32,15 @@ public class BottomBar extends HBox { public BottomBar(GameController gameController) { this.setSpacing(10); this.realPartLabel = new Label(); + this.realPartLabel.getStyleClass().add("top-bottom-padding"); this.imaginaryPartLabel = new Label(); + this.imaginaryPartLabel.getStyleClass().add("top-bottom-padding"); this.sliderRealPart = new SliderRealPart(gameController); this.sliderImaginaryPart = new SliderImaginaryPart(gameController); realPartLabel.setMinSize(200, 20); imaginaryPartLabel.setMinSize(200, 20); - realPartLabel.setAlignment(Pos.CENTER); - imaginaryPartLabel.setAlignment(Pos.CENTER); - - this.setAlignment(javafx.geometry.Pos.CENTER); + this.setAlignment(Pos.CENTER); this.getChildren().addAll(realPartLabel, sliderRealPart, sliderImaginaryPart, imaginaryPartLabel); diff --git a/src/main/java/org/example/chaosgame/view/components/SideBar.java b/src/main/java/org/example/chaosgame/view/components/SideBar.java index 57e22953ce05cc34df4cab6c79e9e5ebe0881052..af300cf6a7018234b23d84a73469b4deafde387a 100644 --- a/src/main/java/org/example/chaosgame/view/components/SideBar.java +++ b/src/main/java/org/example/chaosgame/view/components/SideBar.java @@ -30,13 +30,13 @@ public class SideBar extends VBox { resetGame.setOnAction(event -> chaosGameController.resetGame()); this.getChildren().addAll( - fractalSelectionBox, colorPicker, numberOfStepsInput, - coordinatesButton, createOwnFractal, saveFractalButton, openFileButton, - runGame, resetGame); + fractalSelectionBox, colorPicker, coordinatesButton, + createOwnFractal, saveFractalButton, openFileButton, + numberOfStepsInput, runGame, resetGame); this.setAlignment(Pos.CENTER_RIGHT); - VBox.setMargin(coordinatesButton, new Insets(50, 0, 0, 0)); - VBox.setMargin(runGame, new Insets(50, 0, 0, 0)); + VBox.setMargin(coordinatesButton, new Insets(30, 0, 0, 0)); + VBox.setMargin(numberOfStepsInput, new Insets(30, 0, 0, 0)); this.getStyleClass().add("side-bar"); } diff --git a/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java b/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java index 14dfe2c2adb50d7b348b37cad1853146f39d741e..a365e3e84a8068449068887ffe7af4bd95c6f9dd 100644 --- a/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java +++ b/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java @@ -11,6 +11,7 @@ public class SliderImaginaryPart extends BaseSlider { super(gameController); this.setMin(-1); this.setMax(1); + this.getStyleClass().add("top-bottom-padding"); } /** * {@inheritDoc} diff --git a/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java b/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java index 71369aa4ec183c15c57b9100d7d5edf0d6c346d5..928cda8f15e0cf9804150dcdcb1b86197cae389f 100644 --- a/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java +++ b/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java @@ -8,6 +8,7 @@ public class SliderRealPart extends BaseSlider { super(gameController); this.setMin(-1); this.setMax(1); + this.getStyleClass().add("top-bottom-padding"); } @Override diff --git a/src/main/java/org/example/chaosgame/view/components/TopBar.java b/src/main/java/org/example/chaosgame/view/components/TopBar.java index 70800bc8cddb59ae1b04ef9015df5a7dcca01542..d2144569e8d2689c1ee07544ad4e70d372077ba4 100644 --- a/src/main/java/org/example/chaosgame/view/components/TopBar.java +++ b/src/main/java/org/example/chaosgame/view/components/TopBar.java @@ -18,30 +18,29 @@ public class TopBar extends HBox { public TopBar(GameController gameController) { super(); this.gameInfo = new Label(); + this.gameInfo.getStyleClass().add("top-bottom-padding"); this.stepsLabel = new Label(); + this.stepsLabel.getStyleClass().add("top-bottom-padding"); this.coordinatesLabel = new Label(); + this.coordinatesLabel.getStyleClass().add("top-bottom-padding"); Button homeButton = new HomeButton(); homeButton.setOnAction(event -> gameController.homeButtonClicked()); this.getChildren().addAll(homeButton, gameInfo, coordinatesLabel, stepsLabel); - this.setPadding(new javafx.geometry.Insets(10)); - - this.setSpacing(50); this.setAlignment(Pos.CENTER_LEFT); this.getStyleClass().add("top-bottom-bar"); } - public void updateTopBar(Transform2D first, int totalSteps, Vector2D min, Vector2D max) { + public void updateTotalTopBar(Transform2D first, int totalSteps, Vector2D min, Vector2D max) { gameInfo.setText("Transformation: " + first.getClass().getSimpleName()); - coordinatesLabel.setText("Min-Coordinate: " + min.getX() + ", " + min.getY() + - ". Max-Coordinate: " + max.getX() + ", " + max.getY()); + updateTopBar(min, max); stepsLabel.setText("Total steps: " + totalSteps); } public void updateTopBar(Vector2D min, Vector2D max) { - coordinatesLabel.setText("Min-Coordinate: " + (double) Math.round(min.getX() * 100) / 100 + ", " + (double) Math.round(min.getY() * 100) / 100 + - ". Max-Coordinate: " + (double) Math.round(max.getX() * 100) / 100 + ", " + (double) Math.round(max.getY() * 100) / 100); + coordinatesLabel.setText("Coordinates: " + (double) Math.round(min.getX() * 100) / 100 + " , " + (double) Math.round(min.getY() * 100) / 100 + + " (min), " + (double) Math.round(max.getX() * 100) / 100 + ", " + (double) Math.round(max.getY() * 100) / 100 + " (max)"); } public void setTopBarStyle(String text) { diff --git a/src/main/resources/global.css b/src/main/resources/global.css index 94ba268ec19f297e7c129e24839d5b43d31f0061..6c89b8a6cad684d81753177f9852d880fe1e0dfa 100644 --- a/src/main/resources/global.css +++ b/src/main/resources/global.css @@ -26,8 +26,12 @@ } .text-field { - -fx-font: 14 arial; - -fx-border-color: black; + -fx-font: 20 arial; + -fx-background-color: #252525; + -fx-text-fill: white; + -fx-border-color: #3b3b3b; + -fx-background-radius: 20; + -fx-border-radius: 20; -fx-border-width: 2; -fx-background-insets: 1; } @@ -125,6 +129,7 @@ -fx-padding: 20; -fx-spacing: 10; } + .top-bottom-bar .text { -fx-font: 20 arial; -fx-fill: #7c7c7c; @@ -138,6 +143,11 @@ -fx-background-insets: 1; } +.top-bottom-padding{ + -fx-padding: 0 10 0 10; +} + +