如何在JComboBox顶部添加默认项,如添加新项

时间:2009-12-03 15:08:01

标签: java swing

如何在JComboBox的顶部添加默认条目,例如Add New Item,以便允许用户单击此条目并获得允许他们创建新条目的对话框?我应该尝试使用自定义渲染器还是最好的方法?我感谢任何人的帮助。

3 个答案:

答案 0 :(得分:1)

1)在填充组合

的源代码顶部添加一个条目

2)向组合框添加一个监听器,当selectedindex = 0时启动一个外部对话框

答案 1 :(得分:1)

我认为用户界面设计会有更好的按钮,可以为您的模型添加新项目。

考虑一下:如果你使用JComboBox来控制添加,你是否也将它扩展到控制删除?创建第一个条目后会发生什么?该默认条目是否消失?当您有大量条目时会发生什么?

此外,我发现通过专用的添加/删除按钮可以更轻松地控制权限。

答案 2 :(得分:0)

您可以将组合框的第一项设置为空字符串,并添加指示用户可以输入自己的文本或编辑任何条目的说明。

如果组合框被标记为可编辑,那么只要用户输入组合框,就会弹出一个文本输入框。

像这样:

 Vector<String> options  = new Vector<String>();
   options.add("");
   options.add("blue");
   options.add("red");
...
 JComboBox result = new JComboBox(options);
 result.setEditable(true);

另外,如果组合框在表格中,那么你可以为渲染器和编辑器使用不同的组合框;如:如果该单元格的值为null或空字符串,那么您可以使渲染器组合框有一个选项,说“选择或输入值”或“选择一个值”然后编辑器是实际的我在上面定义的组合框。