From 5cefe42a99f3493d0c6fc2fc0a95612cfba76937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Wed, 5 Mar 2025 18:08:26 +0100 Subject: [PATCH] Login page --- .../app/src/main/java/client/ClientGui.java | 4 +-- .../app/src/main/java/client/ClientLogin.java | 25 ++++++++++++++ .../src/main/java/utilities/FxUtilities.java | 17 ++++++++++ .../main/resources/client/clientLogin.fxml | 33 +++++++++++++++++++ 4 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 ChatApp/app/src/main/java/client/ClientLogin.java create mode 100644 ChatApp/app/src/main/java/utilities/FxUtilities.java create mode 100644 ChatApp/app/src/main/resources/client/clientLogin.fxml diff --git a/ChatApp/app/src/main/java/client/ClientGui.java b/ChatApp/app/src/main/java/client/ClientGui.java index 988628f..1e79997 100644 --- a/ChatApp/app/src/main/java/client/ClientGui.java +++ b/ChatApp/app/src/main/java/client/ClientGui.java @@ -18,8 +18,8 @@ public class ClientGui extends Application { @Override public void start(Stage stage) throws Exception { - FXMLLoader loader = new FXMLLoader(getClass().getResource("/client/clientLoading.fxml")); - Scene scene = new Scene(loader.load(), 800, 600); + FXMLLoader loader = new FXMLLoader(getClass().getResource("/client/clientLogin.fxml")); + Scene scene = new Scene(loader.load(), 400, 240); double screenWidth = Screen.getPrimary().getVisualBounds().getWidth(); double screenHeight = Screen.getPrimary().getVisualBounds().getHeight(); diff --git a/ChatApp/app/src/main/java/client/ClientLogin.java b/ChatApp/app/src/main/java/client/ClientLogin.java new file mode 100644 index 0000000..1ed1af7 --- /dev/null +++ b/ChatApp/app/src/main/java/client/ClientLogin.java @@ -0,0 +1,25 @@ +package client; + +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.control.TextField; +import javafx.stage.Stage; +import client.ClientGui; +import java.io.IOException; + +import static utilities.FxUtilities.centerStage; + +public class ClientLogin { + @FXML + public TextField usernameField; + + @FXML + private void login() throws IOException { + var loader = new FXMLLoader(getClass().getResource("/client/clientLoading.fxml")); + loader.load(); + Stage stage = (Stage) usernameField.getScene().getWindow(); + stage.setScene(new Scene(loader.getRoot(), 800, 600)); + centerStage(stage); + } +} diff --git a/ChatApp/app/src/main/java/utilities/FxUtilities.java b/ChatApp/app/src/main/java/utilities/FxUtilities.java new file mode 100644 index 0000000..8429ccf --- /dev/null +++ b/ChatApp/app/src/main/java/utilities/FxUtilities.java @@ -0,0 +1,17 @@ +package utilities; + +import javafx.stage.Screen; +import javafx.stage.Stage; + +public class FxUtilities { + public static void centerStage(Stage stage) { + double screenWidth = Screen.getPrimary().getVisualBounds().getWidth(); + double screenHeight = Screen.getPrimary().getVisualBounds().getHeight(); + + double xPos = screenWidth / 2 - stage.getWidth() / 2; + double yPos = screenHeight / 2 - stage.getHeight() / 2; + + stage.setX(xPos); + stage.setY(yPos); + } +} diff --git a/ChatApp/app/src/main/resources/client/clientLogin.fxml b/ChatApp/app/src/main/resources/client/clientLogin.fxml new file mode 100644 index 0000000..6793353 --- /dev/null +++ b/ChatApp/app/src/main/resources/client/clientLogin.fxml @@ -0,0 +1,33 @@ + + + + + + + + + + + + +