2011-06-08 18 views
9

我有一个jcombobox,其值来自列表。我想首先从下拉列表中看到空白。我走近它是通过将列表类型的新对象在第一次作为例子的方式显示:JComboBox:要第一个条目为空条目

final List<Object> list = getObjectsList(); 
    list.add(new Object()); 

但这会导致空指针,如果做

list.add(null); 

这解决了问题,但是这会带来我使用比较器方法在别处找到了另一个问题。所以任何工作都会非常感谢。

+0

首先,你应该接受一些答案,你已经问过7个问题,你甚至没有接受过任何答案。 – 2011-06-08 08:40:34

+0

而_never_投票? – trashgod 2011-06-08 08:41:29

+1

对不起,你会得到它 – daverocks 2011-06-08 08:44:10

回答

15

不是JComboBox.insertItemAt("", 0);适合你吗?您还需要为空白条目添加验证

+2

是的,似乎已经解决了这个空指针,所以到下一个,谢谢 – daverocks 2011-06-08 09:31:24

2

恕我直言,它取决于您将如何处理“空条目”。想法很少:

尝试添加空字符串。

添加object/null并覆盖getSelectedIndex()方法。

16

您还可以在添加项目之后,但在事件侦听器之前,将所选索引设置为-1。

JcomboBox.setSelectedIndex(-1); 

如果您的JcomboBox使用泛型,此解决方案将更好地工作。

+2

这个选项对我来说很好代表什么时候我的模型有一个无效值,但我不希望用户能够输入无效值。一旦用户选择一个项目,空白的“无效”项目不能被再次选择。 – 2014-07-31 17:50:45

+2

这是做这件事的最优雅的方式。 – 2015-06-18 12:23:22

相关问题