diff options
Diffstat (limited to '')
-rw-r--r-- | src/gui/Driver.java | 16 | ||||
-rw-r--r-- | src/gui/LevelDetails.java | 9 | ||||
-rw-r--r-- | src/gui/LevelSurround.java | 74 |
3 files changed, 95 insertions, 4 deletions
diff --git a/src/gui/Driver.java b/src/gui/Driver.java index 77fe0b0..59002c2 100644 --- a/src/gui/Driver.java +++ b/src/gui/Driver.java @@ -17,6 +17,7 @@ import javafx.stage.Stage; public class Driver extends Application { + static Stage primaryStage; static HashMap<String,Pane> menus = new HashMap<String,Pane>(); static Pane primaryPane = new Pane(); @@ -26,8 +27,9 @@ public class Driver extends Application } @Override - public void start(Stage primaryStage) + public void start(Stage newPrimaryStage) { + primaryStage = newPrimaryStage; menus.put("MainMenu", new MainMenu()); menus.put("LevelSelector", new LevelSelector()); menus.put("Settings", new Settings()); @@ -61,6 +63,18 @@ public class Driver extends Application primaryPane.requestFocus(); } + public static void setCustomMenu(Pane pane) + { + if (! primaryPane.getChildren().isEmpty()) + { + primaryPane.getChildren().remove(0); + } + pane.minWidthProperty().bind(primaryStage.widthProperty()); + pane.minHeightProperty().bind(primaryStage.heightProperty()); + primaryPane.getChildren().add(pane); + primaryPane.requestFocus(); + } + public static void setBackground(String url) { primaryPane.setBackground(new Background( diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java index dee2f00..5623261 100644 --- a/src/gui/LevelDetails.java +++ b/src/gui/LevelDetails.java @@ -1,5 +1,6 @@ package gui; +import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.ListView; @@ -22,6 +23,7 @@ public class LevelDetails extends VBox details.maxWidthProperty().bind(super.widthProperty()); details.maxHeightProperty().bind(super.heightProperty().multiply(0.75)); details.getStyleClass().add("textBox"); + details.setPadding(new Insets(10)); Button play = new Button(); play.setText("Play"); @@ -31,7 +33,7 @@ public class LevelDetails extends VBox Text desc = new Text(); desc.setText("Select a level from the left pane"); desc.setFill(Color.WHITE); - desc.wrappingWidthProperty().bind(super.widthProperty()); + desc.wrappingWidthProperty().bind(super.widthProperty().subtract(10)); desc.setTextAlignment(TextAlignment.CENTER); details.setAlignment(Pos.CENTER); details.getChildren().addAll(desc); @@ -44,12 +46,12 @@ public class LevelDetails extends VBox title.setText("Test level 1"); title.setFill(Color.WHITE); title.setFont(new Font(50)); - title.wrappingWidthProperty().bind(super.widthProperty()); + title.wrappingWidthProperty().bind(super.widthProperty().subtract(10)); Text desc = new Text(); desc.setText("long description with lots of words. what we write does not actually need to be long i just wan t make sure it can word wrap"); desc.setFill(Color.WHITE); - desc.wrappingWidthProperty().bind(super.widthProperty()); + desc.wrappingWidthProperty().bind(super.widthProperty().subtract(10)); ImageView previewView = new ImageView(); Image preview = new Image("assets/pico.png"); @@ -58,6 +60,7 @@ public class LevelDetails extends VBox previewView.fitWidthProperty().bind(super.widthProperty().multiply(0.5)); previewView.setPreserveRatio(true); details.getChildren().addAll(title,desc,previewView); + play.setOnAction(e -> Driver.setCustomMenu(new LevelSurround())); } VBox rightBox = new VBox(); diff --git a/src/gui/LevelSurround.java b/src/gui/LevelSurround.java new file mode 100644 index 0000000..22fcf97 --- /dev/null +++ b/src/gui/LevelSurround.java @@ -0,0 +1,74 @@ +package gui; + +import fallTest.Hbox; +import javafx.geometry.Insets; +import javafx.geometry.Pos; +import javafx.scene.control.Button; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Pane; +import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; +import javafx.scene.paint.Color; +import javafx.scene.text.Font; +import javafx.scene.text.Text; + +public class LevelSurround extends Pane +{ + //will have param (Level l) + public LevelSurround() + { + Button exit = new Button(); + exit.setText("Exit"); + exit.setOnAction(e -> Driver.setMenu("LevelSelector")); + + Button pause = new Button(); + pause.setText("Pause"); + + HBox buttonBox = new HBox(); + buttonBox.getChildren().addAll(exit,pause); + buttonBox.setAlignment(Pos.TOP_LEFT); + buttonBox.setSpacing(10); + + Text title = new Text(); + title.setText("Test level 1"); + title.setFill(Color.WHITE); + title.setFont(new Font(50)); + + Text diff = new Text(); + diff.setText("Easy"); + diff.setFill(Color.WHITE); + + VBox textBox = new VBox(); + textBox.setAlignment(Pos.TOP_RIGHT); + textBox.getChildren().addAll(title,diff); + + BorderPane topBar = new BorderPane(); + topBar.setLeft(buttonBox); + topBar.setRight(textBox); + topBar.setPadding(new Insets(10)); + + Text title = new Text(); + title.setText("Test level 1"); + title.setFill(Color.WHITE); + title.setFont(new Font(50)); + + Text diff = new Text(); + diff.setText("Easy"); + diff.setFill(Color.WHITE); + + VBox textBox = new VBox(); + textBox.setAlignment(Pos.TOP_RIGHT); + textBox.getChildren().addAll(title,diff); + + HBox centerBox = new HBox(); + centerBox.getStyleClass().add("textBox"); + + StackPane root = new StackPane(); + root.getChildren().addAll(topBar,centerBox); + + super.getChildren().add(root); + root.minWidthProperty().bind(super.minWidthProperty()); + root.minHeightProperty().bind(super.minHeightProperty()); + } +}
\ No newline at end of file |