在 Java 中创建自定义事件 [英] Create a custom event in Java

查看:27
本文介绍了在 Java 中创建自定义事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用 Java 做这样的事情,但我不知道方法:

I want to do something like this in Java but I don't know the way:

当事件object 1 say 'hello'"发生时,然后对象 2 通过说你好"来响应该事件.

When event "object 1 say 'hello'" happens, then object 2 responds to that event by saying "hello".

有人能给我一个提示或示例代码吗?

Can somebody give me a hint or sample code?

推荐答案

您可能想要查看 observer模式.

以下是一些示例代码,您可以开始使用:

Here's some sample code to get yourself started:

import java.util.*;

// An interface to be implemented by everyone interested in "Hello" events
interface HelloListener {
    void someoneSaidHello();
}

// Someone who says "Hello"
class Initiater {
    private List<HelloListener> listeners = new ArrayList<HelloListener>();

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

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

        // Notify everybody that may be interested.
        for (HelloListener hl : listeners)
            hl.someoneSaidHello();
    }
}

// Someone interested in "Hello" events
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..."
    }
}

<小时>

相关文章:Java:创建自定义事件

这篇关于在 Java 中创建自定义事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆