按照惯例,用户界面的 ActionListener 应该放在哪里?我有几个选择,但似乎没有一个是完全正确的。
简写:
- GUI - 包含所有 JPanel/可显示对象的主类
- Logic - 处理应用程序逻辑的主类
- 我可以在 GUI 中内联声明一个新的 ActionListener,存储它,然后将其指针传递到需要的位置。
- 我可以让 GUI 本身实现 ActionListener 并将对其自身的引用传递到需要的地方。
- 我可以在主逻辑中内嵌声明一个新的 ActionListener(这是有道理的,因为按钮执行的操作是不应该出现在 GUI 中的逻辑),然后将其传递给 GUI,GUI 将其传递到它所在的位置需要。
- 我可以在一个全新的文件 GUIListener.java 中编写逻辑,并在需要的地方声明 GUIListener/传递它。
- 还有其他一些方法,我确信还有很多。
最佳答案
这基本上提出了关注点分离的问题。 在我看来,你应该将 GUI、 Controller 和模型(bean)对象保存在单独的文件中。 Controller 促进与应用程序相关的所有处理。
关于Java swing - ActionListener 应该去哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179485/