编写Java侦听器代码的方法

编写Java侦听器代码的方法,java,listener,actionlistener,eventhandler,Java,Listener,Actionlistener,Eventhandler,我知道几种向Swing组件添加侦听器的方法,但我想知道在每种情况下,哪种方法是最好的选择: 一个组件,一个操作,例如:一个调用事件执行x的按钮。 阅读Oracle文档时,我发现最好的方法是像这样使用EventHandler: component.addActionListener((ActionListener)EventHandler.create(ActionListener.class, frame, "methodToCall")); 多个组件,一个动作,例如:同一事件的10个按钮。

我知道几种向Swing组件添加侦听器的方法,但我想知道在每种情况下,哪种方法是最好的选择:

一个组件,一个操作,例如:一个调用事件执行x的按钮。 阅读Oracle文档时,我发现最好的方法是像这样使用EventHandler:

component.addActionListener((ActionListener)EventHandler.create(ActionListener.class, frame, "methodToCall"));
多个组件,一个动作,例如:同一事件的10个按钮。

一个组件,几个动作,例如:1个按钮,调用x事件、y事件和z事件来执行不同的操作。

如果应用程序中存在性能问题,那么这些问题很可能不会来自于您如何实现侦听器,除非您在其中做了真正愚蠢的事情。如果意思是:不要开始解决性能问题,直到你有明确的指示和分析,它们的存在和来源

所以我的答案可能出乎意料:不要担心性能。当然,运用常识避免无缘无故地牺牲性能的事情;但是,相反,我们需要担心清晰而坚实的设计

如果你的表现是100%好;但你的设计只有50%好;您的产品将越来越难以维护和扩展。换句话说:关注单一责任原则之类的概念,或者不要重复你自己,你可以通过谷歌来了解更多


此外:如果您的计划中存在性能问题;当整件事情都有一个合理的设计时,它们更容易修复。

最好的解决方案几乎总是一个问题的危险信号,因为它脱离了主题:基于观点的Hanks pal我找不到其他与我的需要相关的帖子:@GhostCat我很久以前解决了这个问题,没有stackoverflow用户的帮助,很遗憾,所以我现在不确定该怎么处理这个帖子,我该怎么办?@GotyMetal两个选项:你接受答案。。。或者你删除这个问题。我的应用程序没有性能问题,我只是希望未来能让事情变得更好: