aboutsummaryrefslogtreecommitdiff
path: root/src/gui/LevelSelector.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2023-05-23 00:39:57 -0400
committersowgro <tpoke.ferrari@gmail.com>2023-05-23 00:39:57 -0400
commit005c645b3cd991079dfd9bac2f207cdd2068d161 (patch)
treeed82f11d248a1a0e08ea0ed82380913250a0f278 /src/gui/LevelSelector.java
parentf941b529f1cb12312041516e6799ece0f6df2cac (diff)
downloadNPEhero-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.java26
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())