diff --git a/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt b/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt index af49828..f3acad7 100644 --- a/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt +++ b/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt @@ -1,13 +1,13 @@ -chatapp/Launcher.java - chatapp.Launcher +chatapp/Model/DataBase.java + chatapp.Model.DataBase chatapp/Model/ListUtilisateurs.java chatapp.Model.ListUtilisateurs chatapp/Model/Utilisateur.java chatapp.Model.Utilisateur chatapp/Model/MessageHorodate.java chatapp.Model.MessageHorodate -chatapp/Model/DataBase.java - chatapp.Model.DataBase +chatapp/Launcher.java + chatapp.Launcher chatapp/Protocol/RunnerEcouteTCP.java chatapp.Protocol.RunnerEcouteTCP chatapp/View/FenetreSession.java diff --git a/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java b/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java index 0814c4a..db689fb 100644 --- a/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java +++ b/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java @@ -31,8 +31,13 @@ public class ChatApp implements PropertyChangeListener { private static ChatApp chatapp = null; private RunnerEcouteTCP runnerEcouteTCP; private RunnerEcouteUDP runnerEcouteUDP; + private boolean connecte; private DataBase db; + public boolean isConnecte() { + return connecte; + } + /** * Constructeur de l'application de chat * @@ -49,6 +54,7 @@ public class ChatApp implements PropertyChangeListener { this.main = main; this.db= DataBase.getInstance(); + this.connecte=false; } public static synchronized ChatApp getInstance(String pseudo, Integer port, Application main){ @@ -149,6 +155,7 @@ public class ChatApp implements PropertyChangeListener { } if (UDPEchange.getConnecte()) { System.out.println("Connexion reussie"); + this.connecte=true; //db.ajoutUtilisateurs(this.me.getId(),this.me.getPseudo()); db.majPseudo("MacYAYA",this.me.getPseudo()); db.majUtilisateursActifs(true,"MACYAYA"); @@ -189,7 +196,7 @@ public class ChatApp implements PropertyChangeListener { String broadcastMessage = "Deconnexion\n" + this.getMe().toString() ; UDPEchange.EnvoiBroadcast(broadcastMessage); db.majUtilisateursActifs(false,"MACYAYA"); - + this.connecte=false; try { main.stop(); } catch (Exception e) { diff --git a/Implementation/chatapp/src/main/java/chatapp/Main.java b/Implementation/chatapp/src/main/java/chatapp/Main.java index f745c9c..1570063 100644 --- a/Implementation/chatapp/src/main/java/chatapp/Main.java +++ b/Implementation/chatapp/src/main/java/chatapp/Main.java @@ -2,16 +2,17 @@ package chatapp; import chatapp.Controller.ChatApp; import javafx.application.Application; +import javafx.application.Platform; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.stage.Stage; public class Main extends Application { - + ChatApp chatapp; @Override public void start(Stage primaryStage) throws Exception { - ChatApp chatapp = ChatApp.getInstance("Null",1234,this); + this.chatapp = ChatApp.getInstance("Null",1234,this); FXMLLoader fichier = new FXMLLoader(getClass().getResource("/fenetres/ConnexionScreen.fxml")); Scene scene1 = new Scene(fichier.load(),600,400); primaryStage.setScene(scene1); @@ -25,6 +26,18 @@ public class Main extends Application { } + @Override + public void stop() throws Exception { + if(chatapp.isConnecte()){ + chatapp.deconnexion(); + } + else { + super.stop(); + Platform.exit(); + System.exit(0); + } + } + public static void main(String[] args) { launch(args); }