在Java中创建一个自定义事件 [英] Create a custom event in Java
本文介绍了在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屋!
查看全文