富客户端UI的设计建议

时间:2011-04-29 07:39:53

标签: java swing user-interface

背景

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

问题:

在我们实施MVC的Web应用程序中,我们将请求转发给ViewController并不关心在何处展示它。通常,一切都将显示在页面上。但是在RCP中,我们需要知道在哪里显示这个表单/ table / etc.我的意思是哪个面板,向右或向左,向上或向下。这需要引用我们希望展示该东西的容器组件。我们应该如何设计代码以获得该引用?

径:

我将继续引用主类中的所有第一级组件 - 具有main()方法。然后,无论我需要哪些组件,我都会做类似的事情,

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

可以吗?

2 个答案:

答案 0 :(得分:2)

MVC在RCP中并不是那么重要,人们谈论它,但很大程度上是废话。

确保您的业务对象模型是独立的并且不依赖于任何UI代码非常重要。但是视图和控制器之间的界限往往更加模糊,我不会太过分了。

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

严重依赖观察者模式。

答案 1 :(得分:1)

A Swing Architecture Overview详细阐述了Swing的separable model architecture。我发现这个概念有助于理解常用的Swing组件,以及JFreeChart等常用工具。