ChatApp-AL-NM/Implementation/chatapp/src/main/java/chatapp/View/DemarrerSession.java
2021-01-03 16:12:12 +04:00

82 lines
2.5 KiB
Java

/**
* Sample Skeleton for 'View_Demarrer_Session.fxml' Controller Class
*/
package chatapp.View;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import chatapp.Controller.ChatApp;
import chatapp.Model.ListUtilisateurs;
import chatapp.Model.Utilisateur;
import chatapp.Protocol.RunnerEcouteTCP;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.stage.Stage;
/**
* <p>
* Classe representant l'interface graphique permettant de choisir un utilisateur avec qui clavarder.
* </p>
*/
public class DemarrerSession {
@FXML // ResourceBundle that was given to the FXMLLoader
private ResourceBundle resources;
@FXML // URL location of the FXML file that was given to the FXMLLoader
private URL location;
@FXML // fx:id="choixContact"
private ComboBox<String> choixContact; // Value injected by FXMLLoader
@FXML // fx:id="MenuButton"
private Button MenuButton; // Value injected by FXMLLoader
private ChatApp chatApp;
/**
* <p> Handler permettant de demarrer une session de clavardage avec le contact choisi dans la comboBox choixContaact</p>
* @param event L'utilisateur vient de selectionner un utilisateur
*/
@FXML
void demarrerSessionAvec(ActionEvent event) {
chatApp.demarrerSession(choixContact.getValue());
}
/**
* <p> Handler permettant de retourner au menu principal sur pression du MenuButton</p>
* @param event L'utilisateur vient d'appuyer sur le bouton Retour au menu
*/
@FXML
void retourMenu(ActionEvent event) {
Stage stage = (Stage) MenuButton.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();
}
/**
* <p> Initialization de la classe ChangementPseudo et permet d'initialiser les parametres</p>
*/
@FXML // This method is called by the FXMLLoader when initialization is complete
void initialize() {
this.chatApp = ChatApp.getInstance();
ListUtilisateurs utils = chatApp.getActifUsers();
for(Utilisateur u : utils.getActifUsers()){
choixContact.getItems().add(u.getPseudo());
}
}
}