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/test/Table.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/test/Table.java | 112 |
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 |