gpt4 book ai didi

java - 将事件/回调绑定(bind)到 Java 中的关键字

转载 作者:搜寻专家 更新时间:2023-11-01 02:42:07 24 4
gpt4 key购买 nike

我是来自 javascript 背景的 Java 新手。

在 javascript 中,我们可以像这样在对象中保存回调-

//we register some callback on a keyword
var observerCallbacks = {};
registerObserverCallback = function(eventname ,callback){
observerCallbacks[eventname] = callback;
};
//For calling events
notifyObservers = function(eventname){
observerCallbacks[eventname]();
};

用法:

//Register event 
registerObserverCallback('eventA',function(){
//body of callback
});

//For calling event
notifyObservers('eventA');

我正在寻找 Java 中的等效功能。有没有办法创建这种类型的自定义功能。

最佳答案

Java 对此有一个稍微不同的机制。对象将自己注册为特定类型事件的监听器。当此类事件发生时,所有监听器都会收到通知。

Here你可以找到关于它的教程。下面的代码来自那里。

public class MultiListener ... implements ActionListener {
...
//where initialization occurs:
button1.addActionListener(this);
button2.addActionListener(this);

button2.addActionListener(new Eavesdropper(bottomTextArea));
}

public void actionPerformed(ActionEvent e) {
topTextArea.append(e.getActionCommand() + newline);
}
}

class Eavesdropper implements ActionListener {
...
public void actionPerformed(ActionEvent e) {
myTextArea.append(e.getActionCommand() + newline);
}
}

可以找到有关此主题的更多信息 here

关于java - 将事件/回调绑定(bind)到 Java 中的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31116415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com