From 0e8da93f72a5483cd0595917b0bafd6fb0b7828b Mon Sep 17 00:00:00 2001 From: Seraina Date: Wed, 18 May 2022 10:30:50 +0200 Subject: [PATCH] The client now disconnects from server when the gui window is closed --- .../dbis/cs108/multiplayer/client/gui/ChatApp.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java index ea0d17d..3472abf 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/ChatApp.java @@ -6,14 +6,17 @@ import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.chat.ChatController; import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.game.GameController; import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge.ListOfLobbiesController; import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge.LoungeSceneViewController; +import ch.unibas.dmi.dbis.cs108.multiplayer.helpers.Protocol; import java.net.URL; import java.util.Objects; import javafx.application.Application; +import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; +import javafx.stage.WindowEvent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -208,6 +211,9 @@ public class ChatApp extends Application { Scene scene = new Scene(lounge); scene.setRoot(lounge); primaryStage.setScene(scene); + scene.getWindow().setOnCloseRequest((WindowEvent we) -> { + clientModel.getClient().sendMsgToServer(Protocol.clientQuitRequest); + }); } catch (Exception e) { e.printStackTrace(); } @@ -217,7 +223,11 @@ public class ChatApp extends Application { primaryStage.setResizable(true); primaryStage.setMaximized(true); primaryStage.show(); - } + } + + + + public static void main(String[] args) { launch(args);