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

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

问题描述



当事件对象1发出你好的时候,
然后对象2通过说hello来响应该事件。



有人可以给我一个提示或示例代码?

解决方案

您可能想查看观察者模式



以下是一些自己开始的示例代码:

  import java.util。*; 

//所有对Hello事件感兴趣的人都要实现的接口
interface HelloListener {
void someoneSaidHello();
}

//有人说你好
class Initiator {
private List< HelloListener> listeners = new ArrayList< HelloListener>();

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

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

//通知所有可能感兴趣的人。
(HelloListener hl:listeners)
hl.someoneSaidHello();
}
}

//对Hello事件感兴趣的人
class Responder实现HelloListener {
@Override
public void someoneSaidHello ){
System.out.println(Hello there ...);
}
}

class Test {
public static void main(String [] args){
Initiator initiatorater = new Initiater();
响应者responder = new Responder();

initiatorater.addListener(responder);

initiatorater.sayHello(); //打印你好!!!和你好...
}
}






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


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

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?

解决方案

You probably want to look into the observer pattern.

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..."
    }
}


Related article: Java: Creating a custom event

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

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