java - 富客户端 UI 的设计建议

标签 java swing user-interface

背景:

我在 web 应用程序方面有丰富的经验,但我对 RCP 的经验很少或没有。目前,我正在使用 Java Swing API。一切都很好。唯一的问题是,我对自己的设计不太自信。

问题:

在 Web 应用程序中,当我们实现 MVC 时,我们将请求转发到 ViewController 不关心在哪里显示它。通常,所有内容都将显示在页面上。但是在 RCP 中,我们需要知道在哪里显示这个表格/表格/等等。我的意思是哪个面板,右或左,上或下。这需要引用我们希望在其中显示事物的容器组件。我们应该如何设计我们的代码来获取该引用?

采取:

我一直在引用主类中的所有第一级组件——它们具有 main() 方法。然后无论我需要什么组件,我都会做类似的事情,

JPanel formPanel = MainApp.getMainPanel().getFormPanel();
..
JPanel treePanel = MainApp.getMainPanel().getTreePanel();

还好吗?

最佳答案

MVC 在 RCP 中并不是真正重要的东西,人们谈论它但主要是胡说八道。

毫无疑问,拥有一个独立且不依赖于任何 UI 代码的业务对象模型非常重要。但是 Views 和 Controllers 之间的界限往往更加模糊,我不会担心太多。

用户界面元素自然倾向于像您一样组织在树中,但应避免使用诸如主面板之类的全局变量。

严重依赖观察者模式。

关于java - 富客户端 UI 的设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5829335/

相关文章:

java - 是否建议为程序中的每个类编写一个测试用例?

java - 在 maven 中使用/导入本地 fat jar 作为插件

Java 对 Runtime.memory() 与 Windows 的物理内存使用历史图的混淆

java - 是否可以在 JSlider 上设置未知值?

java - 请帮助我使用 Java 中的 JFrame 和 BorderLayout

python - 用于对抗 "Not Responding"阻塞的多处理 GUI 模式

java - 猜猜密码OOXML文件的应用?

java - 每次按钮事件发生时从 JTable 中删除以前的内容

java - 内部类中的 WindowAdapter

java - 用于自定义 Synth 外观和感觉的插图