我有一个jcombobox,其值来自列表。我想首先从下拉列表中看到空白。我走近它是通过将列表类型的新对象在第一次作为例子的方式显示:JComboBox:要第一个条目为空条目
final List<Object> list = getObjectsList();
list.add(new Object());
但这会导致空指针,如果做
list.add(null);
这解决了问题,但是这会带来我使用比较器方法在别处找到了另一个问题。所以任何工作都会非常感谢。
我有一个jcombobox,其值来自列表。我想首先从下拉列表中看到空白。我走近它是通过将列表类型的新对象在第一次作为例子的方式显示:JComboBox:要第一个条目为空条目
final List<Object> list = getObjectsList();
list.add(new Object());
但这会导致空指针,如果做
list.add(null);
这解决了问题,但是这会带来我使用比较器方法在别处找到了另一个问题。所以任何工作都会非常感谢。
不是JComboBox.insertItemAt("", 0);
适合你吗?您还需要为空白条目添加验证
是的,似乎已经解决了这个空指针,所以到下一个,谢谢 – daverocks 2011-06-08 09:31:24
恕我直言,它取决于您将如何处理“空条目”。想法很少:
尝试添加空字符串。
添加object/null并覆盖getSelectedIndex()方法。
您还可以在添加项目之后,但在事件侦听器之前,将所选索引设置为-1。
JcomboBox.setSelectedIndex(-1);
如果您的JcomboBox使用泛型,此解决方案将更好地工作。
这个选项对我来说很好代表什么时候我的模型有一个无效值,但我不希望用户能够输入无效值。一旦用户选择一个项目,空白的“无效”项目不能被再次选择。 – 2014-07-31 17:50:45
这是做这件事的最优雅的方式。 – 2015-06-18 12:23:22
首先,你应该接受一些答案,你已经问过7个问题,你甚至没有接受过任何答案。 – 2011-06-08 08:40:34
而_never_投票? – trashgod 2011-06-08 08:41:29
对不起,你会得到它 – daverocks 2011-06-08 08:44:10