我现在正在使用 Java 学习 GUI 编程,我正在尝试制作我的第一个应用程序。
我在其中使用 ActionListeners。我的问题是,仅声明一个 ActionListener 并始终引用它是否更有效,或者我是否应该为我使用的每个 Button、TextField 等声明一个?
//伪代码
要么:
myButton1.addActionListiner(Main.getListener());
myButton2.addActionListiner(Main.getListener());
或:
myButton1.addActionListiner(new MyListener());
myButton2.addActionListiner(new MyListener());
在您的两个示例中,您的
actionPerformed
方法似乎能够处理来自多个源的事件。在这种情况下,单个实例绝对足够。
但是,如果
actionPerformed
需要为每个 UI 组件做不同的事情,你会怎么做?要么做这一切会变得相当复杂,要么你有许多不同的动作监听器只做一项工作。
如果您创建许多小型侦听器,那么可重用性通常会更高,因此尽可能选择该模式。但标准不是每个按钮,而是每个操作执行的实现。