Home > Java > javaTutorial > How to Create a Custom Event System in Java Using the Observer Pattern?

How to Create a Custom Event System in Java Using the Observer Pattern?

Barbara Streisand
Release: 2024-12-04 18:06:18
Original
600 people have browsed it

How to Create a Custom Event System in Java Using the Observer Pattern?

Creating a Custom Event in Java

In Java, the observer pattern can be used to implement a custom event system. Here's how you can do it:

Creating an Event Listener Interface

The first step is to define an interface that will be implemented by all classes interested in receiving events. For example, you could have an interface called HelloListener that has a method for responding to a "hello" event.

Creating an Event Emitter Class

Next, create a class that will emit the events. This class should have a method for adding event listeners and a method for firing the event.

Creating an Event Listener Class

Now, create a class that will receive the events and respond to them. This class should implement the event listener interface and provide an implementation for the response method.

Putting It All Together

To use the event system, create an instance of the event emitter class and add event listeners to it. When you want to fire an event, call the firing method on the event emitter. The event listeners will be notified and will respond accordingly.

Example Code

Here's an example of how to use the observer pattern to create a custom event system in Java:

import java.util.*;

interface HelloListener {
    void someoneSaidHello();
}

class Initiater {
    private List<HelloListener> listeners = new ArrayList<>();

    public void addListener(HelloListener toAdd) {
        listeners.add(toAdd);
    }

    public void sayHello() {
        System.out.println("Hello!!");

        for (HelloListener hl : listeners)
            hl.someoneSaidHello();
    }
}

class Responder implements HelloListener {
    @Override
    public void someoneSaidHello() {
        System.out.println("Hello there...");
    }
}

class Test {
    public static void main(String[] args) {
        Initiater initiater = new Initiater();
        Responder responder = new Responder();

        initiater.addListener(responder);

        initiater.sayHello(); // Prints "Hello!!!" and "Hello there..."
    }
}
Copy after login

The above is the detailed content of How to Create a Custom Event System in Java Using the Observer Pattern?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template