82 lines
2.5 KiB
Java
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());
|
|
}
|
|
|
|
}
|
|
}
|