From 6c216a309838bf1cbeb19070ce180c0170ccd3c9 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 1 Jun 2023 00:53:04 -0400 Subject: early code for level editor gui --- src/devmenu/LevelList.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/devmenu/LevelList.java (limited to 'src/devmenu/LevelList.java') diff --git a/src/devmenu/LevelList.java b/src/devmenu/LevelList.java new file mode 100644 index 0000000..e3dec7f --- /dev/null +++ b/src/devmenu/LevelList.java @@ -0,0 +1,54 @@ +package devmenu; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; + +import gui.Driver; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.TextField; +import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; +import main.Level; + +public class LevelList +{ + Stage primaryStage = new Stage(); + public 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.setOnMouseClicked(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem())); + + TextField newLevel = new TextField("new"); + Button newLevelButton = new Button("add"); + newLevelButton.setOnAction(e -> Driver.levelController.addLevel(newLevel.getText())); + HBox newLevelBox = new HBox(); + newLevelBox.getChildren().addAll(newLevel,newLevelButton); + + VBox main = new VBox(); + main.getChildren().addAll(levels,newLevelBox); + Scene scene = new Scene(main); + primaryStage.setScene(scene); + primaryStage.show(); + } +} \ No newline at end of file -- cgit v1.2.3