Добавьте comboBox в JTable для внешних ключей БД - PullRequest
0 голосов
/ 13 июля 2011

Я выполняю проект DatabaseManager, в котором отображаю все данные таблицы базы данных в JTable. Теперь я хочу вставить функцию, чтобы внешние ключи таблицы отображались в виде комбинированного списка со значениями внешней таблицы. Итак, мне было интересно, какой из этих способов наиболее оптимален, я знаю, что столбец, представляющий ключ foreing, будет заполнен комбинированными списками с точно такими же значениями, но у каждого из них будет определенное начальное значение по умолчанию. Вот код, который у меня есть сейчас, чтобы просто заполнить данные без комбинированных списков:

private Collection<Map<String, String>> allData;
Object[] rowToAdd = new Object[manager.get((String) DatabaseJList.getInstance().getSelectedObject()).getDataManager().getColumnNumber()];
for (Map<String, String> rowz: allData)
            {

                rowx = rowz.values();

                int i = 0;
                for (String str : rowx)
                { 
                    rowToAdd[i] = str;
                    i++;
                }
                tableModel.addRow(rowToAdd);
            }

Итак, так как rowToAdd - это массив объектов, могу ли я просто создать comboBox и поместить его внутрь? Есть предложения, как это сделать?

Большое спасибо всем.

1 Ответ

1 голос
/ 13 июля 2011

Вы не добавляете данные в модель. Вы просто указываете, что поле со списком должно использоваться в качестве редактора для конкретного. См. Раздел учебника по Swing на Использование комбинированного окна в качестве редактора для рабочего примера.

...