2010-11-18 4 views
0

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

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

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 в setValue В методе, который не работал

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

ответ

1

переопределять метод getCellEditor (....). Например: How to add unique JComboBoxes to a column in a JTable (Java)

+0

Это было очень полезно, но, похоже, оно не работает должным образом, когда было несколько столбцов, в которые я должен добавить комбо-боксы. Как установить конкретные комбинированные поля в каждом столбце? – karthi

Смежные вопросы