Java 自动完成装饰(组合框);在JTable中无法完美工作

Java 自动完成装饰(组合框);在JTable中无法完美工作,java,netbeans,jtable,jcombobox,swingx,Java,Netbeans,Jtable,Jcombobox,Swingx,我在JPanel中使用JCombobox和editable=true,并在同一面板中使用JTable,其中的列设置为显示combobox作为其字段类型。我申请了 AutoCompleteDecorator.decorate(cb); 到JCombobox,它在JTable之外,工作非常正常,但是当我将同一行代码应用到JTable内的combobox时,它会选择与键入的键匹配的数据的第一次出现 我如何解决这个问题。有什么建议吗 请看下面的图片,其中选择的正是我键入的项目 这是JTable中c

我在
JPanel
中使用
JCombobox
editable=true
,并在同一面板中使用
JTable
,其中的列设置为显示combobox作为其字段类型。我申请了

 AutoCompleteDecorator.decorate(cb);
JCombobox
,它在
JTable
之外,工作非常正常,但是当我将同一行代码应用到JTable内的combobox时,它会选择与键入的键匹配的数据的第一次出现

我如何解决这个问题。有什么建议吗

请看下面的图片,其中选择的正是我键入的项目

这是
JTable
中combobox的图像


当我按w键时,它会选择第一个出现的
windy
,并将其设置在单元格中。

您尚未发布代码,但是否已检查您使用的TableCellEditor

您可能使用了DefaultTableCellEditor。如果是这种情况,请将其更改为ComboxCellEditor

例如:

JCombobox cmbItems = new JComboBox();
cmbItems.addItem("choice1");
cmbItems.addItem("choice2");
cmbItems.addItem("choice3");
AutoCompleteDecorator.decorate(cmbItems);
TableColumn colWithCmb = table.getColumnModel().getColumn(0);
colWithCmb.setCellEditor(new ComboBoxCellEditor(cmbItems));

您尚未发布代码,但是否检查了使用的TableCellEditor

您可能使用了DefaultTableCellEditor。如果是这种情况,请将其更改为ComboxCellEditor

例如:

JCombobox cmbItems = new JComboBox();
cmbItems.addItem("choice1");
cmbItems.addItem("choice2");
cmbItems.addItem("choice3");
AutoCompleteDecorator.decorate(cmbItems);
TableColumn colWithCmb = table.getColumnModel().getColumn(0);
colWithCmb.setCellEditor(new ComboBoxCellEditor(cmbItems));