Java Swing - JTree应该与TreeModel一起使用--MVC设计模式

Yat*_*oel 2 java swing jtree

我将JTree在我的Java Swing桌面应用程序中使用.我读到MVC Design pattern并根据它,我们应该使用ModelSwing Components来分离a的数据模型和JComponent它的表示部分.

所以我的快速问题如下:

  • JTree(TreeModel newModel)

  • JTree(Object[] value)

  • JTree(TreeNode root)

  • JTree(Vector<?> value)

  • JTree(HashTable<?, ?> value)

出于上述创建选项的选项JTree,

Q1.是否总是更好JTree(TreeModel newModel)地应用MVC模式?

Rid*_*del 7

这取决于您的需求.我倾向于认为Swing组件构造函数作为输入非模型对象实际上是快速原型的快捷方式.实际上,在引擎盖后面,Swing组件将从输入对象创建一个模型,因为它需要一个模型对象才能正确发送所有事件.

因此,这是我的建议:

  • 对于快速原型,您可以考虑使用这些"类似模拟"的构造函数
  • 对于"真实世界"的应用程序,甚至不要考虑它们,因为对于特定事件发送需要更快或更晚(更改一个节点渲染,使树生长,......)