我在JTable
中实现了一个自动完成组合框,似乎一切正常,但是当我启动model.setSelectedItem(item);
在组合列表中选择当前项时,组合框将失去焦点。
我们可以覆盖此功能吗?
最佳答案
在您的情况下,您不应使用JCombobox#setSelectedItem.
。此方法调用将引发ActionEvent,这可能导致焦点移至下一个组件。尝试改用
JCombobox combo = ...
combo.getModel().setSelectedItem(...);
更新:我查看了实现的代码,看来您正在寻找使用
JComboboBox#setSelectedIndex
。当您键入一个字符并且列表显示从键入的字符开始的下一项时,也会使用此方法。