Olá!
Tenho um jTable que em uma determinada coluna, jComboBoxes são os editores, atualmente definidos assim:
TableColumn col = jTable1.getColumnModel().getColumn(8);
col.setCellEditor(new bruno.EntradaSIGESComboBoxEquipe());
Neste caso funciona, pois para todos as linhas, serão os mesmo valores, porém em uma outra coluna, preciso que a cada linha, opções diferentes sejam exibidas, então criei o comboBox abaixo, adicionando um construtor que recebe um vetor String com os campos que eu desejo (serão retorno de uma consulta no banco de dados):
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package bruno;
import java.awt.Component;
import javax.swing.AbstractCellEditor;
import javax.swing.JComboBox;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;
/**
*
-
@author bruno
*/
public class EntradaSIGESComboBoxEndereco extends AbstractCellEditor implements TableCellEditor {
private JComboBox field;
private String[] values;EntradaSIGESComboBoxEndereco (String[] values) {
this.values = values;
}@Override
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
field = new JComboBox(values);
field.setSelectedItem(value); //Deixa o editor pré-selecionado com o valor da célula
return field;
}@Override
public Object getCellEditorValue() {
return field.getSelectedItem().toString();
}
}[/code]
Ok, mas procurei e não encontrei uma forma de colocar essa comboBox em uma célula em específico, ex:
adiciono a linha 0.
comboBox tem as opções: Item 1 e Item 2.
depois adiciono a linha 2:
comboBox tem as opções Item 3, Item 4 e Item 5, porém o comboBox da linha 1 continua intacto.
Como implementar?
Obs: tenho meu próprio tableModel, n sei se ajuda…
Abraços!