gpt4 book ai didi

java - 是否可以从java中的另一个类导入监听器

转载 作者:行者123 更新时间:2023-12-02 07:50:44 24 4
gpt4 key购买 nike

如果我有一个 java 类,并且我想使用另一个类的监听器,我该怎么做?例如,如果我有两个 JFrame,并且其中一个中有一个按钮,我可以让它在另一个类中执行某些操作

最佳答案

您可以在一个类中创建一个公共(public)方法

public void addSomeButtonActionListener(ActionListener listener) {
someButton.addActionListener(listener);
}

这将允许其他对象将监听器添加到您感兴趣的按钮。请注意,如果一个按钮添加了多个监听器,则无法保证哪个监听器将首先触发或以任何触发顺序触发。

或者,您可以使用所有 Swing 组件固有的 PropertyListener 支持,创建您自己的绑定(bind)属性,并允许外部类将 PropertyChangeListener 添加到感兴趣的类,监听绑定(bind)属性中的更改。有关更多信息,请查看this tutorial 。请注意,如果您采用此路线,并且您的类扩展了 Swing 组件,则无需编写自己的 addPropertyChangeListener(...)removePropertyChangeListener(...) 因为这些方法以及 SwingPropertyChangeSupport 字段已经是所有 Swing 组件的固有组件。如果您的类没有扩展 Swing 组件,那么是的,您需要编写上面的方法,但您仍然可以使用 GUI 类的关键组件之一的 SwingPropertyChangeSupport。

后一种解决方案是我喜欢的,但我发现我更经常聆听模型的绑定(bind)属性而不是我的 View 。

如果您需要更多详细信息,请告诉我们有关您的代码和问题的更多信息。

关于java - 是否可以从java中的另一个类导入监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10268274/

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