Package MateZone.ihm

Class PanelMessage

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class PanelMessage extends JPanel
Classe représentant le panneau d'affichage des messages. Ce panneau permet de charger et d'afficher les messages provenant du serveur ou des fichiers locaux.
See Also:
  • Field Details

    • txtMessages

      private JTextPane txtMessages
      Zone de texte pour afficher les messages.
    • remoteUrl

      private String remoteUrl
      URL distante pour télécharger les messages.
    • fileLock

      public static final Object fileLock
      Verrou pour synchroniser l'accès aux fichiers.
  • Constructor Details

    • PanelMessage

      public PanelMessage(String pseudo, String host, int port)
      Constructeur de la classe PanelMessage.
      Parameters:
      pseudo - Le pseudo de l'utilisateur connecté.
      host - L'adresse de l'hôte du serveur.
      port - Le port du serveur.
  • Method Details

    • loadMessages

      public void loadMessages(String pseudo)
      Charge les messages depuis le serveur ou les fichiers locaux.
      Parameters:
      pseudo - Le pseudo de l'utilisateur connecté.
    • addMessage

      public void addMessage(String pseudo, String message, String currentUser)
      Ajoute un message à l'affichage.
      Parameters:
      pseudo - Le pseudo de l'utilisateur ayant envoyé le message.
      message - Le contenu du message.
      currentUser - Le pseudo de l'utilisateur connecté.
    • startFileWatcher

      private void startFileWatcher()
      Démarre la surveillance du fichier local pour détecter les modifications. Cette méthode est optionnelle et désactivée par défaut.
    • getFileLock

      public static Object getFileLock()
      Retourne le verrou utilisé pour synchroniser l'accès aux fichiers.
      Returns:
      L'objet de verrou.
    • mergeMessages

      private void mergeMessages()
      Fusionne les messages locaux et distants dans un seul fichier.