【发布时间】:2013-08-25 12:48:30
【问题描述】:
我已经开发 Java 程序 1½ 年了。我目前正在做一个暑期项目,其中涉及到相当大的图形用户界面。
我的 GUI 由几个选项卡式窗格组成。每个窗格都有自己的类。每个窗格都有几个 jButton。
现在,我已经到了一个点,在我的选项卡式窗格类中有这么多匿名内部类(用于 ActionListeners),我确信一定有更好的方法;如果不是为了效率,也是为了可维护性——它变得一团糟。
我的问题是:当每个班级都有很多听众时,有没有更好的方法来组织听众?我考虑过将监听器聚集在相关的类中——比如下面的示例代码:
public class SomeListeners implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
String command = e.getActionCommand();
switch(command){
case "This button":
doThis();
break;
case "That button":
doThat();
break;
}
}
}
或者有没有更好的方法?
提前致谢:)
【问题讨论】:
-
我喜欢@duffymo 关于使用依赖注入的建议,但不确定他为什么删除它。它不必是 Spring,因为 Guice 可以正常工作。它可以很好地配合treeno 的建议以及Tim Herold 的建议(对他们来说都是1+)。一切都是为了尽可能松耦合和收紧内聚。
-
我复制了 duffymo 的答案并发布为社区 wiki 答案,因为它应该是一个完整的答案。
标签: java swing actionlistener