2

按照惯例,用户界面的 ActionListener 应该放在哪里?我有几个选择,但似乎都不对。

速记:

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

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

1 回答 1

2

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

于 2013-01-06T07:50:35.457 回答