Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Jtable вставка разных combobox в одну колонку


Автор: chiffa 30.10.2014, 17:44
Всем доброе время суток. Есть несколько combobox-компонентов с разными значениями, на пример:

Код

JComboBox Item1 = new ComboBox ();

Item1.addItem ('111');
Item1.addItem ('222');
Item1.addItem ('333');

JComboBox Item2 = new ComboBox ();

Item2.addItem ('444');
Item2.addItem ('555');
Item2.addItem ('777');

JComboBox Item3 = new ComboBox ();

Item3.addItem ('aaa');
Item3.addItem ('bbb');
Item3.addItem ('ccc');


пытаюсь добавить их в таблицу (в 5ю колонку) таким образом:
Код

WebTableCellRenderer renderer = new WebTableCellRenderer ();
table.getColumnModel ().getColumn ( 4 ).setCellRenderer ( renderer );
 table.getColumnModel ().getColumn ( 4 ).setCellEditor ( new WebDefaultCellEditor ( Item1 ) );


Если их добавлять таким образом последовательно, то естественно, по всей колонке забивается только Item3 со значениями "aaa", "bbb", "ccc" т.к. она идет последние. Отсюда вопрос: как мне указать в какую именно ячейку колонки вставлять ComboBox? То есть 

колонка 5 - строка 1 - Item1
колонка 5 - строка 2 - Item2
колонка 5 - строка 3 - Item3

Заранее спасибо за помощь!

Автор: Mirkes 31.10.2014, 13:56
Я полагаю, что номера строк Вам заранее не известны. В этой ситуации я бы создал один renderer, который разбирался бы с полученным значением и подставлял тот из имеющихся элементов, который нужен.

Автор: chiffa 31.10.2014, 14:00
Спасибо, за ответ. Номера строк, вообщем, известны.

А как правильно создать рендер, не подскажете?

Автор: Mirkes 31.10.2014, 20:49
К сожалению в этом я не спец. Делал только один раз по образцу, найденному где-то здесь на форуме по JTable.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)