diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-07-18 03:42:34 -0400 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-07-18 03:42:34 -0400 |
commit | aa261bf9490582033bef55afec92673ea36d87cd (patch) | |
tree | d204261afcebd866c3b2d9ba17c247d5cfaa349a /src/main/java/net/sowgro/npehero/gui/Leaderboard.java | |
parent | c2137b3fc13ee89cfbaedd1e4c2f48101fa07a9b (diff) | |
download | NPEhero-aa261bf9490582033bef55afec92673ea36d87cd.tar.gz NPEhero-aa261bf9490582033bef55afec92673ea36d87cd.tar.bz2 NPEhero-aa261bf9490582033bef55afec92673ea36d87cd.zip |
New json api wrapper, refactor of non-gui classes.
Diffstat (limited to 'src/main/java/net/sowgro/npehero/gui/Leaderboard.java')
-rwxr-xr-x | src/main/java/net/sowgro/npehero/gui/Leaderboard.java | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/src/main/java/net/sowgro/npehero/gui/Leaderboard.java b/src/main/java/net/sowgro/npehero/gui/Leaderboard.java deleted file mode 100755 index 842e46d..0000000 --- a/src/main/java/net/sowgro/npehero/gui/Leaderboard.java +++ /dev/null @@ -1,73 +0,0 @@ -package net.sowgro.npehero.gui; - -import javafx.beans.property.ReadOnlyStringWrapper; -import javafx.geometry.Pos; -import javafx.scene.control.Button; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; -import javafx.scene.control.TableColumn.SortType; -import javafx.scene.layout.HBox; -import javafx.scene.layout.Pane; -import javafx.scene.layout.VBox; -import net.sowgro.npehero.Driver; -import net.sowgro.npehero.main.Difficulty; -import net.sowgro.npehero.main.LeaderboardEntry; -import net.sowgro.npehero.main.Level; -import net.sowgro.npehero.main.SoundController; - -public class Leaderboard extends Pane -{ - /* - * this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes. - * the creation of these UI elements are mostly not commented due to their repetitive and self explanatory nature. - * style classes are defined in the style.css file. - */ - public Leaderboard(Level level, Difficulty diff, Pane prev) - { - //sets up table view: requires java bean getters, setters and constructors to work - TableView<LeaderboardEntry> scores = new TableView<LeaderboardEntry>(); - - TableColumn<LeaderboardEntry, String> nameCol = new TableColumn<LeaderboardEntry, String>("Name"); - TableColumn<LeaderboardEntry, String> scoreCol = new TableColumn<LeaderboardEntry, String>("Score"); - TableColumn<LeaderboardEntry, String> dateCol = new TableColumn<LeaderboardEntry, String>("Date"); - - scores.getColumns().add(nameCol); - scores.getColumns().add(scoreCol); - scores.getColumns().add(dateCol); - - nameCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getName())); - scoreCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getScore() + "")); - dateCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getDate())); - - scores.setItems(diff.getLeaderboard()); - - scores.getStyleClass().add("unselectable"); - - scores.prefWidthProperty().bind(super.prefWidthProperty().multiply(0.25)); - scores.prefHeightProperty().bind(super.prefHeightProperty().multiply(0.75)); - - scoreCol.setSortType(SortType.DESCENDING); - scores.getSortOrder().add(scoreCol); - - Button exit = new Button(); - exit.setText("Back"); - exit.setOnAction(e -> { - SoundController.playSfx(SoundController.BACKWARD); - Driver.setMenu(prev); - }); - - VBox centerBox = new VBox(); - centerBox.setAlignment(Pos.CENTER); - centerBox.setSpacing(10); - centerBox.getChildren().addAll(scores,exit); - centerBox.setMinWidth(400); - - HBox rootBox = new HBox(); - rootBox.prefWidthProperty().bind(super.prefWidthProperty()); - rootBox.prefHeightProperty().bind(super.prefHeightProperty()); - rootBox.getChildren().add(centerBox); - rootBox.setAlignment(Pos.CENTER); - - super.getChildren().add(rootBox); - } -} |