JCombobox是否应该在MVC架构中拥有来自后端的对象?

时间:2015-01-04 17:38:24

标签: java swing model-view-controller jcombobox

拥有MVC架构时,在View中我的JCombobox可以拥有自己的对象,还是应该使用String表示。 在我看来,不应该使用它:

private final JComboBox<MyObject> combobox;

这段代码将View与模型绑定在一起,因为MyObject可以在后端找到。这将是我的解决方案。

private final JComboBox<String> combobox;

在这种情况下,我应该做一些映射。 我应该使用第二个实现,还是应该在JCombobox中使用不同的对象?

1 个答案:

答案 0 :(得分:1)

如果您想要在组合框中显示String,则显示String。

如果您要显示要显示的自定义对象的数据,请将自定义对象添加到模型中。在这种情况下,您还需要为对象创建自定义渲染器以显示所需的属性。您还需要提供自定义KeySelectionManager,以便使用键盘选择组合框项目仍然有效。

查看Combo Box With Custom Renderer了解如何实现此目的的示例。