Dan*_*Mac 6 java swing actionlistener
我一直在开发java程序一年半.我目前正在开展夏季项目,涉及相当大的图形用户界面.
我的GUI由几个选项卡式窗格组成.每个窗格都有自己的类.每个窗格都有几个jButtons.
现在,我已经到了一个点,在我的选项卡式窗格类中有很多匿名内部类(对于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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者可能有更好的方法?
提前致谢 :)
您可以尝试以下方法:
使用真正的类而不是匿名类.每个ListenerClass只实现一个用例/功能.Classname应该描述UseCase.然后,您可以在一个或多个包中组织类,以便按照适合包中监听器实现的用例的类别对它们进行聚类.
这意味着,您创建了一个抽象层次结构,它将功能组织为树结构.
如果某天后某人必须维护听众,他/她可以通过首先查找适合UseCase的包然后找到UseCase本身来找到Listener.由于您将拥有更少的包,因此可以更轻松,更快地找到监听器.
另一种思考方式:如果你在一个标签上有如此多的事件,那么在代码中组织它们会遇到问题,你如何在标签上直观地组织它们?你能以符合人体工程学的方式为用户处理吗?也许解决方案可能是在多个Tab上拆分功能?但由于我不知道你的UI我不能说太多
| 归档时间: |
|
| 查看次数: |
2021 次 |
| 最近记录: |