如何在JComboBox顶部添加默认条目,以便允许用户单击此条目并获得允许他们创建新条目的对话框?我是否应该尝试使用自定义渲染器,或者最好的方法是什么?我很感谢任何人在这方面的帮助。
发布于 2009-12-03 23:14:48
1)在填充组合框的源的顶部添加一个条目
2)在组合框中添加监听器,在selectedindex=0时启动外部对话框
发布于 2009-12-03 23:17:06
我认为有一个专门的按钮来给你的模型添加新的项目会更好的用户界面设计。
考虑一下:如果您使用JComboBox来控制添加,那么您是否也扩展了它来控制删除?创建第一个条目后会发生什么?该默认条目会消失吗?当你有很多条目时会发生什么?
此外,我还发现通过专用的添加/删除按钮可以更容易地控制权限。
发布于 2009-12-04 03:46:39
您可以将组合框的第一项设置为空字符串,并放置指示,告诉用户他们可以输入自己的文本或编辑任何条目。
如果组合框被标记为可编辑,则每当用户在组合框中键入内容时,都会弹出一个文本输入框。
如下所示:
Vector<String> options = new Vector<String>();
options.add("");
options.add("blue");
options.add("red");
...
JComboBox result = new JComboBox(options);
result.setEditable(true);另外,如果组合框在表中,那么您可以为渲染器和编辑器使用不同的组合框;如下所示:如果单元格的值为null或空字符串,则可以使渲染器组合框只有一个选项,即"pick or enter a value“或”select a value“,然后让编辑器成为我在上面定义的实际组合框。
https://stackoverflow.com/questions/1840461
复制相似问题