создание комбо-боксов внутри jtable - PullRequest
0 голосов
/ 18 ноября 2010

Моя цель - предоставить интерфейс, подобный матрице, каждая ячейка в матрице будет иметь 2 значения, и пользователь выберет лучший из двух.

Так что я подумал о переходе к jTable и комбинированным полям, проблема в том, что в моей матрице значение каждой ячейки в столбце различно. Но следующий код, который добавляет поле со списком ко всему столбцу таблицы, и если я изменяю значение поля со списком, оно изменяется для всей таблицы. Как вставить поля со списком в таблицу так, чтобы у каждого были разные значения

javax.swing.JComboBox k = new javax.swing.JComboBox();
        k.addItem("1");
        k.addItem("2");
        k.addItem("3");
        k.setEnabled(true);
        k.setVisible(true);
this.jTable1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(k));

Я тоже пробовал с DefaultTableModel

код

  DefaultTableModel t =new javax.swing.table.DefaultTableModel();
    t.setColumnCount(10);
    t.setRowCount(10);
    t.setValueAt(k, 0, 0);
 jTable1.setModel(t);

но я получаю вывод в графическом интерфейсе как

javax.swing.JComboBox[,0,0,0x0,invalid,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=1]

Я попытался ввести "k" как JComboBox и JComponent в методе setValueAt, но это не сработало

Кто-нибудь, пожалуйста, помогите

1 Ответ

1 голос
/ 18 ноября 2010

Переопределить метод getCellEditor (....). Например: Как добавить уникальные JComboBox в столбец в JTable (Java)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...