Java Swing GUI代码结构

标签 java swing user-interface

我有一个扩展 JFrame 并构成我程序的 GUI 的类。我想将 GUI 用于两个主要目的:

  1. 我希望用户能够向程序输入值。
  2. 我希望 GUI 显示我的程序创建的值。

考虑到我的类有很多 GUI 元素,源文件已经相当大,将所有程序代码与 GUI 代码捆绑在一起似乎不是一个好习惯。我想知道构建代码​​的最佳方式是什么?我认为存在一个问题,即要求 1 创建了从 GUI 到程序代码的依赖关系,而第二个要求则相反。

所以,我想要一个包含所有 GUI 相关任务的 GUI 类。然后我想要另一个类用于我的程序逻辑。然后我应该能够从 GUI 调用程序逻辑类的方法,反之亦然。

最佳答案

听起来您正在寻找教科书 MVC(模型- View - Controller )设计模式。我建议您在谷歌上搜索“MVC 设计模式”以获取摘要和用例。话虽如此,您可能希望将您的程序逻辑放入“单例”类(同样,谷歌“单例设计模式”)。正确实现的 Singleton 应该可以从代码中的任何其他类访问。​​

再考虑第三个中间类,它只负责数据存储,您将值放入其中进行存储,然后从中获取值以进行工作。这现在为您的代码创建了 3 个清晰的段,数据(模型)、GUI( View )和逻辑( Controller )。瞧,您刚刚实现了 MVC(模型- View - Controller )设计模式...

关于Java Swing GUI代码结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887747/

相关文章:

python - 使用框架切换类的 Tkinter 按钮命令

css - 按 : 对齐 HTML 输入字段

java - OpenSessionInViewFilter 无法转换为 javax.servlet.Filter

javascript - 在 java 中处理 IE 的 selenium/nide 中的右键单击

java - 在 JFrame 中调用 JPanel

java - 如何使 Java 组合框中的项目居中

java - 将方 block 添加到动画中

C++,Code::Blocks,我应该为 windows 和 macos 中的 GUI 选择哪种项目类型?

java - PlayN 构建问题

java - 谷歌应用程序引擎 Java : Where is the source code of "CompiledCursor"?