Maison >Java >javaDidacticiel >Comment créer et utiliser des événements personnalisés en Java ?
Création d'événements personnalisés Java
Lorsque vous tentez d'établir un mécanisme de réponse où les interactions d'objets impliquent des événements spécifiques, le modèle d'observateur apparaît comme une solution viable. . En utilisant ce modèle, les objets peuvent s'abonner à des événements qui les intéressent et, dès l'apparition de ces événements, ils seront avertis pour prendre les mesures appropriées.
Implémentation Java
Envisagez l'extrait de code suivant comme exemple :
import java.util.*; // HelloEvent: Represents an event of "Hello" class HelloEvent { private String message; public HelloEvent(String message) { this.message = message; } public String getMessage() { return message; } } // HelloListener: Interface for objects interested in "Hello" events interface HelloListener { void onHello(HelloEvent event); } // Initiater: Publishes "Hello" events class Initiater { private List<HelloListener> listeners = new ArrayList<>(); public void addListener(HelloListener listener) { listeners.add(listener); } public void sayHello(String message) { HelloEvent event = new HelloEvent(message); for (HelloListener listener : listeners) { listener.onHello(event); } } } // Responder: Subscribes to "Hello" events class Responder implements HelloListener { @Override public void onHello(HelloEvent event) { System.out.println("Hello there! " + event.getMessage()); } } public class CustomEventExample { public static void main(String[] args) { Initiater initiater = new Initiater(); Responder responder = new Responder(); initiater.addListener(responder); initiater.sayHello("Good morning!"); // Prints "Hello there! Good morning!" } }
Explication
Dans cet exemple, la classe HelloEvent encapsule les données de l'événement (dans ce cas, un message de bienvenue). L'interface HelloListener définit la méthode que les abonnés doivent implémenter pour gérer les notifications d'événements. Initiateur représente l'objet qui déclenche l'événement et maintient une liste d'abonnés. Le répondeur est l'abonné qui répond lorsqu'un événement « Bonjour » se produit.
La classe CustomEventExample montre comment créer, publier et s'abonner à des événements personnalisés. Lorsque l'initiateur appelle la méthode sayHello, il déclenche un HelloEvent, qui est reçu et traité par le répondeur.
Cette approche offre un moyen flexible d'établir une communication basée sur les événements entre les objets dans les applications Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!