diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2023-05-23 00:39:57 -0400 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2023-05-23 00:39:57 -0400 |
commit | 005c645b3cd991079dfd9bac2f207cdd2068d161 (patch) | |
tree | ed82f11d248a1a0e08ea0ed82380913250a0f278 /src/gui/LevelSelector.java | |
parent | f941b529f1cb12312041516e6799ece0f6df2cac (diff) | |
download | NPEhero-005c645b3cd991079dfd9bac2f207cdd2068d161.tar.gz NPEhero-005c645b3cd991079dfd9bac2f207cdd2068d161.tar.bz2 NPEhero-005c645b3cd991079dfd9bac2f207cdd2068d161.zip |
finish gui, add new leaderboard system, redesign settings, switch lists to tables
Diffstat (limited to '')
-rw-r--r-- | src/gui/LevelSelector.java | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/gui/LevelSelector.java b/src/gui/LevelSelector.java index 5ac4cb5..4c91325 100644 --- a/src/gui/LevelSelector.java +++ b/src/gui/LevelSelector.java @@ -5,10 +5,15 @@ import javafx.beans.value.ObservableValue; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.ListView; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; +import main.Difficulty; import main.Level; +import main.LevelController; public class LevelSelector extends Pane { @@ -19,11 +24,24 @@ public class LevelSelector extends Pane */ public LevelSelector() { - ListView<Level> levels = new ListView<Level>(); - levels.setItems(main.LevelController.levelList); + //sets up table view: requires special getters, setters and constructors to work + TableView<Level> levels = new TableView<Level>(); + + TableColumn<Level,String> titleCol = new TableColumn<Level,String>("Title"); + TableColumn<Level,String> artistCol = new TableColumn<Level,String>("Artist"); + + levels.getColumns().add(titleCol); + levels.getColumns().add(artistCol); + + titleCol.setCellValueFactory(new PropertyValueFactory<Level, String>("title")); + artistCol.setCellValueFactory(new PropertyValueFactory<Level, String>("artist")); + + levels.setItems(Driver.levelController.levelList); + levels.prefWidthProperty().bind(super.prefWidthProperty().multiply(0.25)); levels.prefHeightProperty().bind(super.prefHeightProperty().multiply(0.75)); - levels.setMinWidth(275); + levels.setMinWidth(300); + Button exit = new Button(); exit.setText("Back"); @@ -61,7 +79,7 @@ public class LevelSelector extends Pane * @param rightBox * @param levels */ - private void addDetails(Pane rightBox, ListView<Level> levels) + private void addDetails(Pane rightBox, TableView<Level> levels) { VBox details = new LevelDetails(levels.getSelectionModel().getSelectedItem()); if (! rightBox.getChildren().isEmpty()) |