拥有MVC架构时,在View中我的JCombobox
可以拥有自己的对象,还是应该使用String表示。
在我看来,不应该使用它:
private final JComboBox<MyObject> combobox;
这段代码将View与模型绑定在一起,因为MyObject
可以在后端找到。这将是我的解决方案。
private final JComboBox<String> combobox;
在这种情况下,我应该做一些映射。 我应该使用第二个实现,还是应该在JCombobox中使用不同的对象?
答案 0 :(得分:1)
如果您想要在组合框中显示String,则显示String。
如果您要显示要显示的自定义对象的数据,请将自定义对象添加到模型中。在这种情况下,您还需要为对象创建自定义渲染器以显示所需的属性。您还需要提供自定义KeySelectionManager
,以便使用键盘选择组合框项目仍然有效。
查看Combo Box With Custom Renderer了解如何实现此目的的示例。