aboutsummaryrefslogtreecommitdiff
path: root/src/test
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/test
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/test/Table.java112
1 files changed, 112 insertions, 0 deletions
diff --git a/src/test/Table.java b/src/test/Table.java
new file mode 100644
index 0000000..5571ebd
--- /dev/null
+++ b/src/test/Table.java
@@ -0,0 +1,112 @@
+package test;
+
+import javafx.application.Application;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+import javafx.geometry.Insets;
+import javafx.scene.Group;
+import javafx.scene.Scene;
+import javafx.scene.control.Label;
+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.VBox;
+import javafx.scene.text.Font;
+import javafx.stage.Stage;
+
+public class Table extends Application {
+
+ private TableView<Person> table = new TableView<Person>();
+ private final ObservableList<Person> data =
+ FXCollections.observableArrayList(
+ new Person("Jacob", "Smith", "jacob.smith@example.com"),
+ new Person("Isabella", "Johnson", "isabella.johnson@example.com"),
+ new Person("Ethan", "Williams", "ethan.williams@example.com"),
+ new Person("Emma", "Jones", "emma.jones@example.com"),
+ new Person("Michael", "Brown", "michael.brown@example.com")
+ );
+
+ public static void main(String[] args) {
+ launch(args);
+ }
+
+ @Override
+ public void start(Stage stage) {
+ Scene scene = new Scene(new Group());
+ stage.setTitle("Table View Sample");
+ stage.setWidth(450);
+ stage.setHeight(500);
+
+ final Label label = new Label("Address Book");
+ label.setFont(new Font("Arial", 20));
+
+ table.setEditable(true);
+
+ TableColumn firstNameCol = new TableColumn("First Name");
+ firstNameCol.setMinWidth(100);
+ firstNameCol.setCellValueFactory(
+ new PropertyValueFactory<Person, String>("firstName"));
+
+ TableColumn lastNameCol = new TableColumn("Last Name");
+ lastNameCol.setMinWidth(100);
+ lastNameCol.setCellValueFactory(
+ new PropertyValueFactory<Person, String>("lastName"));
+
+ TableColumn emailCol = new TableColumn("Email");
+ emailCol.setMinWidth(200);
+ emailCol.setCellValueFactory(
+ new PropertyValueFactory<Person, String>("email"));
+
+ table.setItems(data);
+ table.getColumns().addAll(firstNameCol, lastNameCol, emailCol);
+
+ final VBox vbox = new VBox();
+ vbox.setSpacing(5);
+ vbox.setPadding(new Insets(10, 0, 0, 10));
+ vbox.getChildren().addAll(label, table);
+
+ ((Group) scene.getRoot()).getChildren().addAll(vbox);
+
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static class Person {
+
+ private final SimpleStringProperty firstName;
+ private final SimpleStringProperty lastName;
+ private final SimpleStringProperty email;
+
+ private Person(String fName, String lName, String email) {
+ this.firstName = new SimpleStringProperty(fName);
+ this.lastName = new SimpleStringProperty(lName);
+ this.email = new SimpleStringProperty(email);
+ }
+
+ public String getFirstName() {
+ return firstName.get();
+ }
+
+ public void setFirstName(String fName) {
+ firstName.set(fName);
+ }
+
+ public String getLastName() {
+ return lastName.get();
+ }
+
+ public void setLastName(String fName) {
+ lastName.set(fName);
+ }
+
+ public String getEmail() {
+ return email.get();
+ }
+
+ public void setEmail(String fName) {
+ email.set(fName);
+ }
+ }
+} \ No newline at end of file