Java swing - ActionListener 应该去哪里?

标签 java swing user-interface actionlistener code-organization

按照惯例,用户界面的 ActionListener 应该放在哪里?我有几个选择,但似乎没有一个是完全正确的。

简写:

  • GUI - 包含所有 JPanel/可显示对象的主类
  • Logic - 处理应用程序逻辑的主类

  1. 我可以在 GUI 中内联声明一个新的 ActionListener,存储它,然后将其指针传递到需要的位置。
  2. 我可以让 GUI 本身实现 ActionListener 并将对其自身的引用传递到需要的地方。
  3. 我可以在主逻辑中内嵌声明一个新的 ActionListener(这是有道理的,因为按钮执行的操作是不应该出现在 GUI 中的逻辑),然后将其传递给 GUI,GUI 将其传递到它所在的位置需要。
  4. 我可以在一个全新的文件 GUIListener.java 中编写逻辑,并在需要的地方声明 GUIListener/传递它。
  5. 还有其他一些方法,我确信还有很多。

最佳答案

这基本上提出了关注点分离的问题。 在我看来,你应该将 GUI、 Controller 和模型(bean)对象保存在单独的文件中。 Controller 促进与应用程序相关的所有处理。

关于Java swing - ActionListener 应该去哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179485/

相关文章:

java - 截取特定 LinearLayout 的屏幕截图

java - 将数据从MongoDb导入到HDFS时出错

java - java中按钮的大小

java - 通过 EventListener 调用 repaint() 和/或 revalidate() - Swing

c# - WPF滚动条样式问题

python - 定制jupyter笔记本设计(不仅仅是样式)

java - com.sun.deploy.net.proxy 包不存在

java - launchMode 停止更多的 Intent 传输

java - 为什么它没有显示我的标签?

python - 是否有用于创建类似桌面的 GUI 端到端应用程序的 Python Web 应用程序框架?