首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java中创建自定义监听器?

如何在java中创建自定义监听器?
EN

Stack Overflow用户
提问于 2011-08-04 20:23:18
回答 3查看 60.3K关注 0票数 37

我想知道如何在java.For中设置我们自己的侦听器,例如我有一个将数字从1递增到100的函数。当该值达到50时,我想设置一个监听器。我该怎么做呢?请给我推荐一些教程。

EN

回答 3

Stack Overflow用户

发布于 2016-04-16 18:24:03

https://stackoverflow.com/a/6270150/3675925

您可能需要查看observer pattern

下面是一些示例代码,可以帮助您入门:

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..."
    }
}
票数 31
EN

Stack Overflow用户

发布于 2011-08-04 20:29:14

没有内置的机制允许您将侦听器附加到所有变量。你想要监视的对象需要自己提供支持。例如,它可以成为可观察的,并向它的观察者发出onChange事件(您还必须确保它被跟踪)。

票数 0
EN

Stack Overflow用户

发布于 2011-08-04 20:36:43

我建议在您的用例中使用EventBus。它有一个很好的API设计,并且易于使用。看看他们的Getting Started部分,看看它是如何工作的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6941321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档