Class Controleur
java.lang.Object
client.controleur.Controleur
- All Implemented Interfaces:
INotifieur
Classe principale de contrôle de l'application MateZone côté Client.
Gère la logique de connexion et le lancement des différentes interfaces
utilisateur.
-
Constructor Summary
ConstructorsConstructorDescriptionControleur(String ADRESSE, int CHATPORT, int IMGPORT) Constructeur de la classe Controleur. -
Method Summary
Modifier and TypeMethodDescriptionvoidafficherListChannel(ChatEventDTO lstEventDTO) Affiche une liste de channel dans l'interface utilisateur.voidafficherListMessage(ChatEventDTO lstEventDTO) Affiche une liste de messages dans l'interface utilisateur.voidafficherNvChannel(ChatEventDTO eventDTO) Affiche un nouveau channel dans l'interface utilisateur.voidafficherNvMessage(ChatEventDTO eventDTO) Affiche un nouveau message dans l'interface utilisateur.voidchangerChannel(int idChannel, String nomChannel) Change le channel courant.voidenvoyerMessage(String message) Envoie un message texte dans le chat en appelant le méthode dans le métier.voidenvoyerPieceJoint(String cheminFic) Envoie une pièce jointe dans le chat.voidLance l'application en affichant la fenêtre de connexion.voidnotifierErreur(String erreur) Notifie une erreur à l'interface utilisateur.voidnotifierMessage(ChatEventDTO eventDTO) Notifie la réception d'un message depuis le serveur.voidsuccesLogin(String pseudo) Traite le succès de la connexion d'un utilisateur.voidtenterConnexionClient(String pseudo, String mdp) Tente la connexion d'un client avec ses identifiants.voidtenterEnregistrement(String pseudo, String mdp) Tente l'enregistrement d'un nouvel utilisateur.
-
Constructor Details
-
Controleur
Constructeur de la classe Controleur. Initialise l'interface graphique, établit la connexion WebSocket avec le serveur et configure la couche métier de l'application.- Throws:
Exception- si une erreur survient lors de l'initialisation ou de la connexion
-
-
Method Details
-
lancerApp
public void lancerApp()Lance l'application en affichant la fenêtre de connexion. -
tenterConnexionClient
-
tenterEnregistrement
Tente l'enregistrement d'un nouvel utilisateur. Valide d'abord le format des identifiants avant de procéder à l'enregistrement.- Parameters:
pseudo- le pseudonyme souhaité pour le nouvel utilisateurmdp- le mot de passe souhaité pour le nouvel utilisateur
-
changerChannel
Change le channel courant.- Parameters:
idChannel- l'id du nouveau Channel
-
envoyerMessage
Envoie un message texte dans le chat en appelant le méthode dans le métier.- Parameters:
message- le contenu du message à envoyer
-
envoyerPieceJoint
Envoie une pièce jointe dans le chat. Lit le fichier depuis le chemin spécifié et l'envoie sous forme de tableau d'octets.- Parameters:
cheminFic- le chemin vers le fichier à envoyer en pièce jointe
-
getAdrServImg
-
notifierMessage
Notifie la réception d'un message depuis le serveur. Délègue la gestion du message à la couche métier.- Specified by:
notifierMessagein interfaceINotifieur- Parameters:
eventDTO- l'événement de chat reçu du serveurevent- l'événement de chat contenant les données du message
-
succesLogin
Traite le succès de la connexion d'un utilisateur. Lance l'interface principale de MateZone avec le pseudo de l'utilisateur connecté.- Specified by:
succesLoginin interfaceINotifieur- Parameters:
pseudo- le pseudonyme de l'utilisateur qui s'est connecté avec succès
-
notifierErreur
Notifie une erreur à l'interface utilisateur.- Specified by:
notifierErreurin interfaceINotifieur- Parameters:
erreur- le message d'erreur à afficher
-
afficherListMessage
Affiche une liste de messages dans l'interface utilisateur.- Specified by:
afficherListMessagein interfaceINotifieur- Parameters:
lstEventDTO- l'événement contenant la liste des messages à afficher
-
afficherNvMessage
Affiche un nouveau message dans l'interface utilisateur.- Specified by:
afficherNvMessagein interfaceINotifieur- Parameters:
eventDTO- l'événement contenant le nouveau message à afficher
-
afficherListChannel
Affiche une liste de channel dans l'interface utilisateur.- Specified by:
afficherListChannelin interfaceINotifieur- Parameters:
lstEventDTO- l'événement contenant la liste des channel à afficher
-
afficherNvChannel
Affiche un nouveau channel dans l'interface utilisateur.- Specified by:
afficherNvChannelin interfaceINotifieur- Parameters:
eventDTO- l'événement contenant le nouveau channel à afficher
-