aboutsummaryrefslogtreecommitdiff
path: root/src/gui/LevelDetails.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2023-05-21 00:45:19 -0400
committersowgro <tpoke.ferrari@gmail.com>2023-05-21 00:45:19 -0400
commitf49a73c6af7445bb4ae92fcab87e13abba527048 (patch)
tree218b7b8c6d64ccd54015d3d47921cb04e11ef503 /src/gui/LevelDetails.java
parent7c106e7dda744e7d3782737262601de693db0dca (diff)
downloadNPEhero-f49a73c6af7445bb4ae92fcab87e13abba527048.tar.gz
NPEhero-f49a73c6af7445bb4ae92fcab87e13abba527048.tar.bz2
NPEhero-f49a73c6af7445bb4ae92fcab87e13abba527048.zip
add ui scrollbars, game over menu, new font
Diffstat (limited to 'src/gui/LevelDetails.java')
-rw-r--r--src/gui/LevelDetails.java73
1 files changed, 45 insertions, 28 deletions
diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java
index 427ede0..8ca4811 100644
--- a/src/gui/LevelDetails.java
+++ b/src/gui/LevelDetails.java
@@ -3,31 +3,28 @@ package gui;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
-import javafx.scene.control.ListView;
-import javafx.scene.control.ToggleButton;
+import javafx.scene.control.RadioButton;
+import javafx.scene.control.ScrollPane;
import javafx.scene.control.ToggleGroup;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
+import javafx.scene.layout.FlowPane;
import javafx.scene.layout.HBox;
-import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
-import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
+import javafx.scene.text.TextFlow;
import main.Level;
public class LevelDetails extends VBox
{
public LevelDetails(Level level)
{
- VBox details = new VBox();
- details.prefWidthProperty().bind(super.prefWidthProperty());
- details.prefHeightProperty().bind(super.prefHeightProperty().multiply(0.75));
- details.maxWidthProperty().bind(super.prefWidthProperty());
- details.maxHeightProperty().bind(super.prefHeightProperty().multiply(0.75));
- details.getStyleClass().add("textBox");
- details.setPadding(new Insets(10));
+ VBox rightBox = new VBox();
+ rightBox.prefWidthProperty().bind(super.prefWidthProperty());
+ rightBox.prefHeightProperty().bind(super.prefHeightProperty().multiply(0.75));
+ rightBox.getStyleClass().add("textBox");
Button play = new Button();
play.setDisable(true);
@@ -40,22 +37,33 @@ public class LevelDetails extends VBox
desc.setFill(Color.WHITE);
desc.wrappingWidthProperty().bind(super.prefWidthProperty().subtract(10));
desc.setTextAlignment(TextAlignment.CENTER);
- details.setAlignment(Pos.CENTER);
- details.getChildren().addAll(desc);
+
+ rightBox.setAlignment(Pos.CENTER);
+ rightBox.getChildren().addAll(desc);
}
else
{
+ VBox details = new VBox();
+
+ ScrollPane detailsScroll = new ScrollPane(details);
+ detailsScroll.prefHeightProperty().bind(rightBox.prefHeightProperty());
+ detailsScroll.prefWidthProperty().bind(rightBox.prefWidthProperty());
+ detailsScroll.getStyleClass().remove("scroll-pane");
+
Text title = new Text();
title.setText(level.title);
title.setFill(Color.WHITE);
- title.setFont(new Font(50));
- title.wrappingWidthProperty().bind(super.prefWidthProperty().subtract(10));
+ title.setStyle("-fx-font-size: 50;");
+
+ Text artist = new Text();
+ artist.setText(level.aritst);
+ artist.setFill(Color.WHITE);
+ artist.setStyle("-fx-font-size: 30;");
Text desc = new Text();
desc.setText(level.desc);
desc.setFill(Color.WHITE);
- desc.wrappingWidthProperty().bind(super.prefWidthProperty().subtract(10));
ImageView previewView = new ImageView();
Image preview = level.preview;
@@ -63,31 +71,40 @@ public class LevelDetails extends VBox
previewView.fitWidthProperty().bind(super.prefWidthProperty().multiply(0.5));
previewView.setPreserveRatio(true);
- HBox diffBox = new HBox();
- diffBox.setPadding(new Insets(30,0,0,0));
- HBox diffSelector = new HBox();
+ FlowPane diffSelector = new FlowPane();
diffSelector.setAlignment(Pos.CENTER);
ToggleGroup diffToggleGroup = new ToggleGroup();
for (String diff : level.diffList)
{
- ToggleButton temp = new ToggleButton();
+ RadioButton temp = new RadioButton();
+ temp.getStyleClass().remove("radio-button");
+ temp.getStyleClass().add("button");
+ temp.getStyleClass().add("custom-radio-button");
temp.setText(diff);
+ temp.setUserData(diff);
diffToggleGroup.getToggles().add(temp);
diffSelector.getChildren().add(temp);
}
play.disableProperty().bind(diffToggleGroup.selectedToggleProperty().isNull());
-
+ play.setOnAction(e -> Driver.setMenu(new LevelSurround(level, (String)diffToggleGroup.getSelectedToggle().getUserData(), Driver.getMenu())));
+ HBox diffBox = new HBox();
+ diffSelector.prefWidthProperty().bind(diffBox.widthProperty());
diffBox.getChildren().add(diffSelector);
- details.getChildren().addAll(title,desc,previewView, diffBox);
- play.setOnAction(e -> Driver.setMenu(new LevelSurround(level, "easy", Driver.getMenu())));
+
+ details.setSpacing(10);
+ details.getChildren().addAll(new TextFlow(title), new TextFlow(artist), new TextFlow(desc), previewView, diffBox);
+ detailsScroll.setFitToWidth(true);
+
+ rightBox.getChildren().add(detailsScroll);
+ rightBox.setPadding(new Insets(5));
}
- VBox rightBox = new VBox();
- rightBox.setAlignment(Pos.CENTER_RIGHT);
- rightBox.setSpacing(10);
- rightBox.getChildren().addAll(details,play);
+ VBox rightSide = new VBox();
+ rightSide.setAlignment(Pos.CENTER_RIGHT);
+ rightSide.setSpacing(10);
+ rightSide.getChildren().addAll(rightBox,play);
super.setAlignment(Pos.CENTER_RIGHT);
- super.getChildren().add(rightBox);
+ super.getChildren().add(rightSide);
}
}