From 2141d282668366a041d7c9852a62dde88f7a8b5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Einar=20Sk=C3=B8ien?= Date: Fri, 10 Apr 2026 14:13:21 +0200 Subject: [PATCH] implement basic start screen without styling --- .../ntnu/idi/idatt2003/gruppe42/Millions.java | 6 ++- .../idatt2003/gruppe42/View/StartScreen.java | 48 ++++++++++++++++++ src/main/resources/Images/logo.jpg | Bin 0 -> 17077 bytes 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/StartScreen.java create mode 100644 src/main/resources/Images/logo.jpg diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Millions.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Millions.java index 67cb162..26ecef8 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Millions.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Millions.java @@ -1,15 +1,17 @@ package edu.ntnu.idi.idatt2003.gruppe42; +import edu.ntnu.idi.idatt2003.gruppe42.View.StartScreen; import javafx.application.Application; import javafx.scene.Scene; -import javafx.scene.layout.BorderPane; +import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Millions extends Application { @Override public void start(Stage stage) throws Exception { - BorderPane root = new BorderPane(); + StartScreen startScreen = new StartScreen(); + StackPane root = startScreen.getRoot(); Scene scene = new Scene(root, 900, 700); stage.setTitle("Millions"); diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/StartScreen.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/StartScreen.java new file mode 100644 index 0000000..6ed3cdc --- /dev/null +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/View/StartScreen.java @@ -0,0 +1,48 @@ +package edu.ntnu.idi.idatt2003.gruppe42.View; + +import javafx.geometry.Pos; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; + +import java.util.Objects; + +public class StartScreen { + + public StackPane getRoot() { + // Root + StackPane root = new StackPane(); + + // Main content + VBox content = new VBox(); + content.setAlignment(Pos.CENTER); + + // Logo + Image logoImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream("/images/logo.jpg"))); + ImageView logoView = new ImageView(logoImage); + logoView.setPreserveRatio(true); + logoView.setFitWidth(250); + + // User input content + VBox inputContent = new VBox(); + inputContent.setAlignment(Pos.CENTER); + inputContent.setMaxWidth(400); + + Label usernameLabel = new Label("State your name, G"); + TextField usernameField = new TextField(); + Label startingMoneyLabel = new Label("How much matrix money?"); + TextField startingMoneyField = new TextField(); + Button loginButton = new Button("Login"); + + // Set children + inputContent.getChildren().addAll(usernameLabel, usernameField, startingMoneyLabel, startingMoneyField); + content.getChildren().addAll(logoView, inputContent, loginButton); + root.getChildren().add(content); + + return root; + } +} diff --git a/src/main/resources/Images/logo.jpg b/src/main/resources/Images/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f121c025a9b137a7b4fde278366927ef94044266 GIT binary patch literal 17077 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 B!Ak%D literal 0 HcmV?d00001