gpt4 book ai didi

java - addActionListener 做什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:09:12 24 4
gpt4 key购买 nike

我有以下代码:

JButton button = new JButton("Clear");
button.addActionListener(this);

据我所知,我创建了一个按钮,上面写着“清除”。然后我必须将一个 Action 与这个按钮相关联(如果按下按钮会发生什么),它由 addActionListener 完成。对吗?

但是我不明白的是指定 Action 的地方。按下按钮应该清除文本区域,据我所知,应该有一个代码可以清除文本区域。但在给定的示例中,addActionListener() 的参数中只有“this”。

程序如何知道它应该在按下按钮时清除文本区域?

如有需要,给出完整代码here .

最佳答案

ActionListener是一种回调机制。每当添加它的控件触发 ActionEvent 时,将调用 public void actionPerformed(ActionEvent e) 方法。

What I do not understand is where the actionPerformed is called. I see that it is defined within the class but there is no place where this method is called.

这是由 UI 组件的内部机制调用的。从概念上讲,您可以认为代码看起来有点像这样:

public class Button {
private final List<ActionListener> listeners = new ArrayList<ActionListener>();

public void addActionListener(ActionListener l) {
listeners.add(l);
}

public void click() {
ActionEvent event = new ActionEvent(this, 0, "click");
for (ActionListener l : listeners) {
l.actionPerformed(event);
}
}
}

关于java - addActionListener 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2167751/

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