2016-08-27 7 views
1

Я использую A JCombobox с editable = true в JPanel и используя JTable в той же панели с колонкой, которая предназначена для отображения combobox в качестве своего типа поля. Я применилAutoCompleteDecorator.decorate (combobox); не работает отлично в JTable

AutoCompleteDecorator.decorate(cb); 

к JCombobox, что находится за пределами JTable и его прекрасно работает Но, когда я применил ту же строку кода COMBOBOX в JTable, который выбирает первое вхождение данных, которые соответствуют ключу набранного.

Как решить эту проблему. Любое предложение ?

Посмотрите на изображение ниже, в котором выбран точный элемент, который я набрал.

enter image description here

И это образ комбобокса в JTable.

enter image description here

Когда я нажимаю ж ключ вставили первое вхождение windy и установить его в клетке.

ответ

0

Вы не разместили код, но вы проверили, какой TableCellEditor вы используете?

Возможно, вы использовали DefaultTableCellEditor. Измените его на ComboBoxCellEditor, если это так.

пример:

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));