Écouteurs d'événements Java et leur fonctionnement

Un écouteur d'événements en Java est conçu pour traiter une sorte d'événement - il "écoute" un événement, tel qu'un clic de souris ou une pression sur un utilisateur, puis il répond en conséquence. Un écouteur d'événement doit être connecté à un objet événement qui définit l'événement.

Par exemple, des composants graphiques comme un JButton ou JTextField sont connus comme sources d'événements. Cela signifie qu'ils peuvent générer des événements (appelés objets d'événement), Comme fournir un JButton pour qu'un utilisateur clique, ou JTextField dans lequel un utilisateur peut saisir du texte. Le travail de l'auditeur d'événements est d'attraper ces événements et de faire quelque chose avec eux..

Fonctionnement des écouteurs d'événements

Chaque interface d'écouteur d'événements comprend au moins une méthode utilisée par la source d'événements équivalente.

Pour cette discussion, considérons un événement de souris, c'est-à-dire chaque fois qu'un utilisateur clique sur quelque chose avec une souris, représenté par la classe Java MouseEvent. Pour gérer ce type d'événement, vous devez d'abord créer un MouseListener classe qui implémente Java MouseListener interface. Cette interface a cinq méthodes; implémentez celle qui se rapporte au type d'action de la souris que vous attendez de votre utilisateur. Ceux-ci sont:

  • void mouseClicked (MouseEvent e)

    Appelé lorsque le bouton de la souris a été cliqué (enfoncé et relâché) sur un composant.
  • void mouseEntered (MouseEvent e)

    Appelé lorsque la souris entre dans un composant.
  • void mouseExited (MouseEvent e)

    Appelé lorsque la souris quitte un composant.
  • void mousePressed (MouseEvent e)

    Appelé lorsqu'un bouton de la souris a été enfoncé sur un composant.
  • void mouseReleased (MouseEvent e)

    Appelé lorsqu'un bouton de la souris a été relâché sur un composant

Comme vous pouvez le voir, chaque méthode a un paramètre d'objet événement unique: l'événement de souris particulier qu'elle est conçue pour gérer. Dans ton MouseListener classe, toi S'inscrire "écouter" n'importe lequel de ces événements afin d'être informé de leur survenance.

Lorsque l'événement se déclenche (par exemple, l'utilisateur clique sur la souris, conformément au mouseClicked () méthode ci-dessus), une MouseEvent l'objet représentant cet événement est créé et transmis au MouseListener objet enregistré pour le recevoir. 

Types d'auditeurs d'événements

Les écouteurs d'événements sont représentés par différentes interfaces, chacune étant conçue pour traiter un événement équivalent.

Notez que les écouteurs d'événements sont flexibles en ce sens qu'un seul écouteur peut être enregistré pour «écouter» plusieurs types d'événements. Cela signifie que, pour un ensemble similaire de composants qui effectuent le même type d'action, un écouteur d'événements peut gérer tous les événements.

Voici quelques-uns des types les plus courants:

  • ActionListener: Écoute un ActionEvent, c'est-à-dire lorsqu'un élément graphique est cliqué comme un bouton ou un élément dans une liste.
  • ContainerListener: Écoute un ContainerEvent, qui peut se produire si l'utilisateur ajoute ou supprime un objet de l'interface.
  • KeyListener: Écoute un L'évenement important dans lequel l'utilisateur appuie, tape ou relâche une touche.
  • WindowListener: Écoute un WindowEvent, par exemple, lorsqu'une fenêtre est fermée, activée ou désactivée.
  • MouseListener: Écoute un  MouseEvent, comme quand on clique ou qu'on appuie sur une souris.