Mise en place des methodes pour l'implementation de la deuxieme partie
This commit is contained in:
parent
3545112960
commit
f0de008617
4 changed files with 163 additions and 122 deletions
|
@ -1,7 +1,9 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<?import javafx.scene.control.Button?>
|
<?import javafx.scene.control.Button?>
|
||||||
|
<?import javafx.scene.control.RadioButton?>
|
||||||
<?import javafx.scene.control.TextField?>
|
<?import javafx.scene.control.TextField?>
|
||||||
|
<?import javafx.scene.control.ToggleGroup?>
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.layout.ColumnConstraints?>
|
<?import javafx.scene.layout.ColumnConstraints?>
|
||||||
<?import javafx.scene.layout.GridPane?>
|
<?import javafx.scene.layout.GridPane?>
|
||||||
|
@ -24,24 +26,34 @@
|
||||||
</Text>
|
</Text>
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<HBox alignment="CENTER" prefHeight="304.0" prefWidth="600.0" style="-fx-background-color: #3299a8;">
|
<HBox alignment="CENTER" prefHeight="304.0" prefWidth="598.0" style="-fx-background-color: #3299a8;">
|
||||||
<children>
|
<children>
|
||||||
<GridPane alignment="CENTER" prefHeight="302.0" prefWidth="279.0">
|
<GridPane alignment="CENTER" prefHeight="275.0" prefWidth="448.0">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||||
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||||
</columnConstraints>
|
</columnConstraints>
|
||||||
<rowConstraints>
|
<rowConstraints>
|
||||||
<RowConstraints maxHeight="254.19998168945312" minHeight="10.0" prefHeight="123.19998779296876" vgrow="SOMETIMES" />
|
<RowConstraints maxHeight="254.19998168945312" minHeight="10.0" prefHeight="111.80001831054688" vgrow="SOMETIMES" />
|
||||||
<RowConstraints maxHeight="217.80000152587894" minHeight="10.0" prefHeight="107.20001220703125" vgrow="SOMETIMES" />
|
<RowConstraints maxHeight="217.80000152587894" minHeight="10.0" prefHeight="69.39998168945314" vgrow="SOMETIMES" />
|
||||||
|
<RowConstraints maxHeight="217.80000152587894" minHeight="10.0" prefHeight="33.60002441406249" vgrow="SOMETIMES" />
|
||||||
|
<RowConstraints maxHeight="217.80000152587894" minHeight="10.0" prefHeight="27.400000000000034" vgrow="SOMETIMES" />
|
||||||
|
<RowConstraints maxHeight="217.80000152587894" minHeight="10.0" prefHeight="79.39999999999998" vgrow="SOMETIMES" />
|
||||||
</rowConstraints>
|
</rowConstraints>
|
||||||
<children>
|
<children>
|
||||||
<TextField fx:id="pseudonyme" prefHeight="26.0" prefWidth="447.0" promptText="Pseudonyme" GridPane.columnSpan="2" />
|
<TextField fx:id="pseudonyme" prefHeight="26.0" prefWidth="447.0" promptText="Pseudonyme" GridPane.columnSpan="3" />
|
||||||
<Button fx:id="connexionButton" alignment="CENTER" contentDisplay="CENTER" mnemonicParsing="false" onAction="#connexion" prefHeight="38.0" prefWidth="287.0" style="-fx-background-color: #b0c926;" text="Connexion" textFill="#3299a8" GridPane.columnSpan="2" GridPane.rowIndex="1">
|
<Button fx:id="connexionButton" alignment="CENTER" contentDisplay="CENTER" mnemonicParsing="false" onAction="#connexion" prefHeight="38.0" prefWidth="453.0" style="-fx-background-color: #b0c926;" text="Connexion" textFill="#3299a8" GridPane.columnSpan="3" GridPane.rowIndex="1">
|
||||||
<font>
|
<font>
|
||||||
<Font name="OCR A Extended" size="27.0" />
|
<Font name="OCR A Extended" size="27.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
|
<RadioButton fx:id="remoteButton" mnemonicParsing="false" selected="true" text="Connexion distante" GridPane.columnIndex="1" GridPane.rowIndex="3">
|
||||||
|
<toggleGroup>
|
||||||
|
<ToggleGroup fx:id="lieu" />
|
||||||
|
</toggleGroup>
|
||||||
|
</RadioButton>
|
||||||
|
<RadioButton fx:id="localButton" mnemonicParsing="false" text="Connexion locale" toggleGroup="$lieu" GridPane.columnIndex="1" GridPane.rowIndex="2" />
|
||||||
</children>
|
</children>
|
||||||
</GridPane>
|
</GridPane>
|
||||||
</children>
|
</children>
|
||||||
|
|
|
@ -1,39 +1,39 @@
|
||||||
chatapp/Launcher.java
|
chatapp/Launcher.java
|
||||||
chatapp.Launcher
|
chatapp.Launcher
|
||||||
chatapp/View/Clavardage.java
|
|
||||||
chatapp.View.Clavardage
|
|
||||||
chatapp.View.Clavardage$1
|
|
||||||
chatapp/View/DemarrerSession.java
|
|
||||||
chatapp.View.DemarrerSession
|
|
||||||
chatapp/Protocol/RunnerEcouteUDP.java
|
|
||||||
chatapp.Protocol.RunnerEcouteUDP
|
|
||||||
chatapp/Model/Utilisateur.java
|
chatapp/Model/Utilisateur.java
|
||||||
chatapp.Model.Utilisateur
|
chatapp.Model.Utilisateur
|
||||||
chatapp/View/View_Utilisateurs.java
|
|
||||||
chatapp.View.View_Utilisateurs
|
|
||||||
chatapp/View/ChangementPseudo.java
|
|
||||||
chatapp.View.ChangementPseudo
|
|
||||||
chatapp/Model/MessageHorodate.java
|
chatapp/Model/MessageHorodate.java
|
||||||
chatapp.Model.MessageHorodate
|
chatapp.Model.MessageHorodate
|
||||||
chatapp/Model/ListUtilisateurs.java
|
|
||||||
chatapp.Model.ListUtilisateurs
|
|
||||||
chatapp/View/View_Menu.java
|
|
||||||
chatapp.View.View_Menu
|
|
||||||
chatapp/Protocol/RunnerEcouteTCP.java
|
|
||||||
chatapp.Protocol.RunnerEcouteTCP
|
|
||||||
chatapp/Protocol/UDPEchange.java
|
|
||||||
chatapp.Protocol.RunnerUDP
|
|
||||||
chatapp.Protocol.UDPEchange
|
|
||||||
chatapp/Controller/ChatApp.java
|
|
||||||
chatapp.Controller.ChatApp
|
|
||||||
chatapp/Main.java
|
|
||||||
chatapp.Main
|
|
||||||
chatapp/Model/DataBase.java
|
chatapp/Model/DataBase.java
|
||||||
chatapp.Model.DataBase
|
chatapp.Model.DataBase
|
||||||
chatapp/Protocol/SessionClavardage.java
|
chatapp/Protocol/RunnerEcouteTCP.java
|
||||||
chatapp.Protocol.SessionClavardage
|
chatapp.Protocol.RunnerEcouteTCP
|
||||||
chatapp/View/FenetreSession.java
|
chatapp/View/FenetreSession.java
|
||||||
chatapp.View.FenetreSession
|
chatapp.View.FenetreSession
|
||||||
chatapp.View.FenetreSession$1
|
chatapp.View.FenetreSession$1
|
||||||
|
chatapp/Controller/ChatApp.java
|
||||||
|
chatapp.Controller.ChatApp
|
||||||
|
chatapp/View/ChangementPseudo.java
|
||||||
|
chatapp.View.ChangementPseudo
|
||||||
|
chatapp/Protocol/RunnerEcouteUDP.java
|
||||||
|
chatapp.Protocol.RunnerEcouteUDP
|
||||||
|
chatapp/Model/ListUtilisateurs.java
|
||||||
|
chatapp.Model.ListUtilisateurs
|
||||||
|
chatapp/Protocol/UDPEchange.java
|
||||||
|
chatapp.Protocol.RunnerUDP
|
||||||
|
chatapp.Protocol.UDPEchange
|
||||||
|
chatapp/Main.java
|
||||||
|
chatapp.Main
|
||||||
|
chatapp/View/Clavardage.java
|
||||||
|
chatapp.View.Clavardage
|
||||||
|
chatapp.View.Clavardage$1
|
||||||
|
chatapp/Protocol/SessionClavardage.java
|
||||||
|
chatapp.Protocol.SessionClavardage
|
||||||
chatapp/View/ConnexionScreen.java
|
chatapp/View/ConnexionScreen.java
|
||||||
chatapp.View.ConnexionScreen
|
chatapp.View.ConnexionScreen
|
||||||
|
chatapp/View/View_Utilisateurs.java
|
||||||
|
chatapp.View.View_Utilisateurs
|
||||||
|
chatapp/View/View_Menu.java
|
||||||
|
chatapp.View.View_Menu
|
||||||
|
chatapp/View/DemarrerSession.java
|
||||||
|
chatapp.View.DemarrerSession
|
||||||
|
|
|
@ -31,6 +31,7 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
/* Liste des utilisateurs actifs */
|
/* Liste des utilisateurs actifs */
|
||||||
private ListUtilisateurs actifUsers ;
|
private ListUtilisateurs actifUsers ;
|
||||||
|
|
||||||
|
private boolean isExterne; // TRUE si l'utilisateur est externe au reseau FALSE s'il est interne
|
||||||
/* ChatApp est associe a un utilisateur */
|
/* ChatApp est associe a un utilisateur */
|
||||||
private Utilisateur me;
|
private Utilisateur me;
|
||||||
|
|
||||||
|
@ -88,22 +89,40 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
/*public void majHistorique2(MessageHorodate mh, String pseudo) {
|
* <p>Methode appelee pour modifier le pseudo et fait appel a la fonction adequate selon que l'on est en interne ou en externe</p>
|
||||||
Historique h = getMapHistorique().get(pseudo);
|
* @param nouveau nouveau pseudo avec lequel on souhaite se renommer
|
||||||
//h.addMessage(mh);
|
* @return TRUE si la modification du pseudo a reussi, FALSE sinon
|
||||||
getMapHistorique().put(h.getUser2().getPseudo(),h);
|
* @throws IOException
|
||||||
}*/
|
*/
|
||||||
|
public boolean modifierPseudo(String nouveau) throws IOException{
|
||||||
|
if(this.isExterne()){
|
||||||
|
return this.modifierPseudoExterne(nouveau);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return modifierPseudoInterne(nouveau);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Modification du pseudo de l'utilisateur
|
* <p>Modification du pseudo de l'utilisateur en EXTERNE
|
||||||
|
* Envoie ses informations utilisateurs et son nouveau pseudo au serveur de presence</p>
|
||||||
|
*
|
||||||
|
* @param nouveau correspond au nouveau pseudo
|
||||||
|
* @return False si modiferPseudo a echoue, True sinon
|
||||||
|
*/
|
||||||
|
private boolean modifierPseudoExterne(String nouveau) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Modification du pseudo de l'utilisateur en INTERNE
|
||||||
* Envoie en broadcast ses informations utilisateurs et son nouveau pseudo</p>
|
* Envoie en broadcast ses informations utilisateurs et son nouveau pseudo</p>
|
||||||
*
|
*
|
||||||
* @param nouveau correspond au nouveau pseudo
|
* @param nouveau correspond au nouveau pseudo
|
||||||
* @return False si modiferPseudo a echoue, True sinon
|
* @return False si modiferPseudo a echoue, True sinon
|
||||||
*/
|
*/
|
||||||
public Boolean modifierPseudo(String nouveau) throws IOException {
|
public Boolean modifierPseudoInterne(String nouveau) throws IOException {
|
||||||
// Message que l'on envoie à tous les utilisateurs actifs
|
// Message que l'on envoie à tous les utilisateurs actifs
|
||||||
String broadcastMessage = "Demande Modification Pseudo\n" + this.getMe().toString() + "\n" + nouveau + "\n";
|
String broadcastMessage = "Demande Modification Pseudo\n" + this.getMe().toString() + "\n" + nouveau + "\n";
|
||||||
UDPEchange.EnvoiBroadcast(broadcastMessage);
|
UDPEchange.EnvoiBroadcast(broadcastMessage);
|
||||||
|
@ -135,41 +154,41 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Methode appelee lors de la connexion d'un nouvel utilisateur.
|
* <p>Methode permettant d'appeler la fonction de connexion adequate selon que l'on est en externe ou en interne</p>
|
||||||
* Il va prevenir les utilisateurs du reseau de son arrivee.</p>
|
* @param pseudo Le pseudo avec lequel l'on souhaite se connecter
|
||||||
* @return False si Connexion a echoue, True sinon
|
* @return True si la connexion a ete autorisee, false sinon
|
||||||
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public Boolean connexion() throws IOException {
|
public boolean connexion(String pseudo) throws IOException{
|
||||||
// Message que l'on envoie à tous les utilisateurs actifs
|
if(this.isExterne()){
|
||||||
String broadcastMessage = "Connexion\n" + this.getMe().toString() ;
|
return this.connexionExterne(pseudo);
|
||||||
UDPEchange.EnvoiBroadcast(broadcastMessage);
|
|
||||||
try {
|
|
||||||
Thread.sleep(2000); // L'utilisateur doit attendre la reponse de tous les utilisateurs connectes
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
if (UDPEchange.getConnecte()) {
|
else{
|
||||||
System.out.println("Connexion reussie");
|
return connexionInterne(pseudo);
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
System.out.println("Connexion echoue");
|
|
||||||
UDPEchange.setConnecte(true);
|
|
||||||
return false ;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Methode appelee lors de la connexion de l'utilisateur, va prevenir les autres
|
* <p>Methode appelee lors de la connexion de l'utilisateur en EXTERNE, va prevenir le
|
||||||
|
* serveur de presence de l'arrivee de l'utilisateur </p>
|
||||||
|
* @param pseudo le pseudonyme avec lequel l'utilisateur souhaite se connecter
|
||||||
|
* @return False si Connexion a echoue, True sinon
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
private boolean connexionExterne(String pseudo) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Methode appelee lors de la connexion de l'utilisateur en INTERNE, va prevenir les autres
|
||||||
* utlisateurs du reseau de l'arrivee de l'utilisateur sur celui-ci</p>
|
* utlisateurs du reseau de l'arrivee de l'utilisateur sur celui-ci</p>
|
||||||
* @param pseudo le pseudonyme avec lequel l'utilisateur souhaite se connecter
|
* @param pseudo le pseudonyme avec lequel l'utilisateur souhaite se connecter
|
||||||
* @return False si Connexion a echoue, True sinon
|
* @return False si Connexion a echoue, True sinon
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public Boolean connexion(String pseudo) throws IOException {
|
public Boolean connexionInterne(String pseudo) throws IOException {
|
||||||
// Message que l'on envoie à tous les utilisateurs actifs
|
// Message que l'on envoie à tous les utilisateurs actifs
|
||||||
this.me.setPseudo(pseudo);
|
this.me.setPseudo(pseudo);
|
||||||
String broadcastMessage = "Connexion\n" + this.getMe().toString() ;
|
String broadcastMessage = "Connexion\n" + this.getMe().toString() ;
|
||||||
|
@ -220,12 +239,37 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
this.runnerEcouteUDP = new RunnerEcouteUDP(this);
|
this.runnerEcouteUDP = new RunnerEcouteUDP(this);
|
||||||
this.runnerEcouteUDP.start();
|
this.runnerEcouteUDP.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Methode appelee lors de la deconnexion de l'utilisateur.
|
* <p>Methode appelee lors de la deconnexion de l'utilisateur.
|
||||||
|
* La methode va appeler la fonction adequate selon que l'on est en interne ou en externe</p>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void deconnexion() throws IOException{
|
||||||
|
if(this.isExterne()){
|
||||||
|
this.deconnexionExterne();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
deconnexionInterne();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Methode appelee lors de la deconnexion en EXTERNE de l'utilisateur.
|
||||||
|
* Il va prevenir le serveur de presence de son depart.</p>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private void deconnexionExterne() {
|
||||||
|
// A IMPLEMENTER
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Methode appelee lors de la deconnexion en INTERNE de l'utilisateur.
|
||||||
* Il va prevenir les utilisateurs du reseau de son depart.</p>
|
* Il va prevenir les utilisateurs du reseau de son depart.</p>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void deconnexion() throws IOException {
|
public void deconnexionInterne() throws IOException {
|
||||||
// Message que l'on envoie à tous les utilisateurs actifs
|
// Message que l'on envoie à tous les utilisateurs actifs
|
||||||
String broadcastMessage = "Deconnexion\n" + this.getMe().toString() ;
|
String broadcastMessage = "Deconnexion\n" + this.getMe().toString() ;
|
||||||
UDPEchange.EnvoiBroadcast(broadcastMessage);
|
UDPEchange.EnvoiBroadcast(broadcastMessage);
|
||||||
|
@ -257,39 +301,6 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*public static void main (String[] args) throws IOException {
|
|
||||||
ChatApp app = new ChatApp(args[0],Integer.parseInt(args[1]),this.app) ;
|
|
||||||
System.out.println("On lance le chatapp");
|
|
||||||
|
|
||||||
|
|
||||||
ExecutorService execUDP = Executors.newFixedThreadPool(1000);
|
|
||||||
execUDP.submit(new RunnerEcouteUDP(app));
|
|
||||||
try {
|
|
||||||
app.connexion();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
ExecutorService execTCP = Executors.newFixedThreadPool(1000);
|
|
||||||
System.out.println("On lance l'écoute TCP de chatapp");
|
|
||||||
execTCP.submit(new RunnerEcouteTCP(app));
|
|
||||||
try {
|
|
||||||
Thread.sleep(5000);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(app.getMe().getPseudo().equals("Marvel")) {
|
|
||||||
app.getHist("Doudou").afficher10derniers();
|
|
||||||
System.out.println("Tentative de connexion avec Doudou");
|
|
||||||
TCPEchange.demarrerSession(app, app.actifUsers.getPseudoList("Doudou"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Handler des differents evenements que chatapp ecoute</p>
|
* <p>Handler des differents evenements que chatapp ecoute</p>
|
||||||
* @param evt l'evenement qui a ete indique par le pcs
|
* @param evt l'evenement qui a ete indique par le pcs
|
||||||
|
@ -317,4 +328,20 @@ public class ChatApp implements PropertyChangeListener {
|
||||||
* @return la base de donnee associee
|
* @return la base de donnee associee
|
||||||
*/
|
*/
|
||||||
public DataBase getDb(){return this.db;}
|
public DataBase getDb(){return this.db;}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p> Getter permettant de savoir si on est en externe ou en interne</p>
|
||||||
|
* @return TRUE si Externe FALSE sinon
|
||||||
|
*/
|
||||||
|
public boolean isExterne() {
|
||||||
|
return isExterne;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>Setter Permet de définir si on est un utilisateur externe ou non</p>
|
||||||
|
* @param externe TRUE si Externe FALSE sinon
|
||||||
|
*/
|
||||||
|
public void setExterne(boolean externe) {
|
||||||
|
isExterne = externe;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,33 +51,35 @@ public class ConnexionScreen {
|
||||||
Boolean connexion = false;
|
Boolean connexion = false;
|
||||||
if(this.localButton.isSelected()) {
|
if(this.localButton.isSelected()) {
|
||||||
// PARTIE CONNEXION LOCALE
|
// PARTIE CONNEXION LOCALE
|
||||||
try {
|
ChatApp.getInstance().setExterne(false);
|
||||||
connexion = ChatApp.getInstance().connexion(pseudonyme.getText());
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
if (!connexion) {
|
|
||||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
|
||||||
alert.setTitle("Connexion");
|
|
||||||
// Header Text: null
|
|
||||||
alert.setHeaderText(null);
|
|
||||||
alert.setContentText("Echec de Connexion: le pseudo " + pseudonyme.getText() + " est deja pris");
|
|
||||||
alert.showAndWait();
|
|
||||||
} else {
|
|
||||||
Stage stage = (Stage) connexionButton.getScene().getWindow();
|
|
||||||
Parent root = null;
|
|
||||||
try {
|
|
||||||
root = FXMLLoader.load(getClass().getResource("/fenetres/View_Menu.fxml"));
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
Scene scene = new Scene(root);
|
|
||||||
stage.setScene(scene);
|
|
||||||
stage.show();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
// PARTIE CONNEXION DISTANTE
|
// PARTIE CONNEXION DISTANTE
|
||||||
|
ChatApp.getInstance().setExterne(true);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
connexion = ChatApp.getInstance().connexion(pseudonyme.getText());
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
if (!connexion) {
|
||||||
|
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||||
|
alert.setTitle("Connexion");
|
||||||
|
// Header Text: null
|
||||||
|
alert.setHeaderText(null);
|
||||||
|
alert.setContentText("Echec de Connexion: le pseudo " + pseudonyme.getText() + " est deja pris");
|
||||||
|
alert.showAndWait();
|
||||||
|
} else {
|
||||||
|
Stage stage = (Stage) connexionButton.getScene().getWindow();
|
||||||
|
Parent root = null;
|
||||||
|
try {
|
||||||
|
root = FXMLLoader.load(getClass().getResource("/fenetres/View_Menu.fxml"));
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
Scene scene = new Scene(root);
|
||||||
|
stage.setScene(scene);
|
||||||
|
stage.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue