diff options
author | Aidan Ross <aross02@fairport.org> | 2023-05-16 19:45:01 -0400 |
---|---|---|
committer | Aidan Ross <aross02@fairport.org> | 2023-05-16 19:45:01 -0400 |
commit | d2f14ec456a3a3a5b5725af74929c2b58f07bb91 (patch) | |
tree | fe4b43898fbe6a9411ab119ff6405ce032c0bbc4 /src/gui/LevelSelector.java | |
parent | d7392b8ba11517117c25f6fc139da84873cb7cac (diff) | |
parent | f6685e0c93ed1f9ea5aab85f17d64ce93ffae6a9 (diff) | |
download | NPEhero-d2f14ec456a3a3a5b5725af74929c2b58f07bb91.tar.gz NPEhero-d2f14ec456a3a3a5b5725af74929c2b58f07bb91.tar.bz2 NPEhero-d2f14ec456a3a3a5b5725af74929c2b58f07bb91.zip |
Merge branch 'main' of https://gitlab.sowgro.net/guitarheros/guitarhero into main
Diffstat (limited to 'src/gui/LevelSelector.java')
-rw-r--r-- | src/gui/LevelSelector.java | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/src/gui/LevelSelector.java b/src/gui/LevelSelector.java index a84444b..5600b07 100644 --- a/src/gui/LevelSelector.java +++ b/src/gui/LevelSelector.java @@ -3,12 +3,16 @@ package gui; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.geometry.Pos; -import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ListView; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; -import javafx.stage.Stage; +import javafx.scene.paint.Color; +import javafx.scene.text.Font; +import javafx.scene.text.Text; public class LevelSelector extends Pane { @@ -17,12 +21,45 @@ public class LevelSelector extends Pane ListView<String> levels = new ListView<String>(); ObservableList<String> levelList= FXCollections.observableArrayList ("Test Level 1", "Test Level 2", "Test Level 3", "Test Level 4"); levels.setItems(levelList); - //super.setAlignment(Pos.CENTER); + levels.minWidthProperty().bind(super.widthProperty().multiply(0.25)); + levels.minHeightProperty().bind(super.heightProperty().multiply(0.75)); + Button exit = new Button(); exit.setText("Exit"); - exit.setOnAction(e -> Driver.switchMenu("MainMenu")); + exit.setOnAction(e -> Driver.setMenu("MainMenu")); + + VBox leftBox = new VBox(); + leftBox.setAlignment(Pos.CENTER_LEFT); + leftBox.setSpacing(10); + leftBox.getChildren().addAll(levels,exit); + + Pane rightBox = new Pane(); + addDetails(rightBox, levels); + - super.getChildren().addAll(levels,exit); + HBox rootBox = new HBox(); + rootBox.minWidthProperty().bind(super.widthProperty()); + rootBox.minHeightProperty().bind(super.heightProperty()); + rootBox.getChildren().addAll(leftBox, rightBox); + rootBox.setAlignment(Pos.CENTER); + rootBox.setSpacing(10); + + levels.setOnMouseClicked(e -> addDetails(rightBox, levels)); + super.getChildren().add(rootBox); + } + + private void addDetails(Pane rightBox, ListView<String> levels) + { + VBox details = new LevelDetails(levels); + if (! rightBox.getChildren().isEmpty()) + { + rightBox.getChildren().remove(0); + } + rightBox.getChildren().add(details); + details.minWidthProperty().bind(super.widthProperty().multiply(0.37)); + details.minHeightProperty().bind(super.heightProperty()); + details.maxWidthProperty().bind(super.widthProperty().multiply(0.37)); + details.maxHeightProperty().bind(super.heightProperty()); } } |