From 005c645b3cd991079dfd9bac2f207cdd2068d161 Mon Sep 17 00:00:00 2001 From: sowgro Date: Tue, 23 May 2023 00:39:57 -0400 Subject: finish gui, add new leaderboard system, redesign settings, switch lists to tables --- src/gui/LevelSelector.java | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'src/gui/LevelSelector.java') 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 levels = new ListView(); - levels.setItems(main.LevelController.levelList); + //sets up table view: requires special getters, setters and constructors to work + TableView levels = new TableView(); + + TableColumn titleCol = new TableColumn("Title"); + TableColumn artistCol = new TableColumn("Artist"); + + levels.getColumns().add(titleCol); + levels.getColumns().add(artistCol); + + titleCol.setCellValueFactory(new PropertyValueFactory("title")); + artistCol.setCellValueFactory(new PropertyValueFactory("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 levels) + private void addDetails(Pane rightBox, TableView levels) { VBox details = new LevelDetails(levels.getSelectionModel().getSelectedItem()); if (! rightBox.getChildren().isEmpty()) -- cgit v1.2.3