java - JComboBox 中的文本显示字符串,但选择实际上设置为 null

标签 java jcombobox

我有一个使用以下代码创建的 JComboBox:

employeeDeletetxt = new JComboBox(buildComboBoxmodel("SELECT employee_id, employee_first_name     FROM employees"));
employeeDeletetxt.setSelectedItem(null);

现在,当我运行程序时,选择设置为 null,因此组合框中不会显示任何内容。我有一个用于删除按钮的 ActionListener 。 ActionListener 会删除某些记录,当发生这种情况时,我需要 JComboBox 中的数据来反射(reflect)最近的更改。我使用以下代码:

employeeDeletetxt.removeItem(employeeDeletetxt.getSelectedItem());                      
employeeDeletetxt.setSelectedItem(null); 

问题是调用这些行后,JComboBox 中显示的文本不为空。然而,JComboBox指向的项目实际上是null,因为我在调用后直接调用ActionListener时收到以下错误消息上次是这样:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

如何将文本设置为空?

最佳答案

我找到了问题的解决方案,希望与大家分享,以防其他人遇到同样的问题。正如我上面所说,AutoCompleteDecorator 是首先导致问题的原因。如果我删除它,那么程序将按预期工作。然而我想为用户提供搜索的能力。解决方案是使用自动完成功能,可在以下链接中找到:http://www.orbital-computer.de/JComboBox/source/AutoCompletion.java 。现在,在程序中,而不是使用: AutoCompleteDecorator.decorate(employeeDeletetxt); 我用: AutoCompletion.enable(employeeDeletetxt); 这样,我允许用户使用自动完成选项,同时还能够将组合框的当前选择设置为空。

关于java - JComboBox 中的文本显示字符串,但选择实际上设置为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759649/

相关文章:

java - jackson 和空弦

java - 也许 switchIfEmpty 惰性评估

java - 如何在JCombobox中每行显示不同的值

java - JComboBox 的输出被打印两次

java - 选择和取消选择时从 JComboBox 获取值

java - 无法在 ActionBarSherlock 中创建选项菜单

java - Spring数据休息POST请求

Java 方法句柄;在多个位置使用参数

Java:图像上的 JComboBox 选择问题

java - JRadioButton 内的 JComboBox