gpt4 book ai didi

java - 事件监听器如何识别每个方法中的特定事件?

转载 作者:搜寻专家 更新时间:2023-11-01 01:53:53 27 4
gpt4 key购买 nike

我无法理解的是这样的方法究竟如何

    public interface MouseListener extends EventListener {

public void mouseClicked(MouseEvent e) {
//code for what happens when you click the mouse on the component
}
}

知道鼠标事件的 ID。为什么只有在事件执行时才将事件发送到 mouseClicked 方法?这些方法的构造函数调用任何可能的鼠标事件,那么当其他方法具有相同的构造函数(即 mousePressed、mouseReleased 等)时为什么只将它发送到 mouseClicked 方法

最佳答案

The Observer Pattern 是重要的事情要知道。

此模式用于在运行时在对象之间形成关系

The idea behind the pattern is simple - one of more Observers are interested in the state of a Subject and register their interest with the Subject by attaching themselves. When something changes in our Subject that the Observer may be interested in, a notify message is sent, which calls the update method in each Observer. When the Observer is no longer interested in the Subject's state, they can simply detatch themselves.

action listeners 的整个想法都是基于此。一旦您理解了这种模式,它就很简单了。

当您注册一个ActionListener时,它是观察者而按钮是主题。因此,当按钮改变状态时,actionPerformed 方法将被启动。

请注意,所有监听器都基于此模式,当事件发生时,已注册 的监听器将收到有关此事件的通知并执行操作。例如,Swing 自行管理所有注册和事件通知(它已经“内置”)。

( http://java.dzone.com/articles/design-patterns-uncovered )

关于java - 事件监听器如何识别每个方法中的特定事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530229/

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