Inserindo

Olá a todo o mundo :slight_smile:

Eu tenho um combobox dentro de uma célula de uma table. Tenho a combobox com os valores dentro da table, mas não consigo definir o valor por defeito da combobox.

Eis o exemplo do meu código:

Código do botão update:

TableColumn sportColumn = table.getColumnModel().getColumn(0);

        JComboBox comboBox = new JComboBox();
        comboBox.addItem("Snowboarding");
        comboBox.addItem("Rowing");
        comboBox.addItem("Knitting");
        comboBox.addItem("Speed reading");
        comboBox.addItem("Pool");
        comboBox.addItem("None of the above");
        comboBox.setSelectedItem("Speed reading");

        DefaultCellEditor defaultCellEditor = new DefaultCellEditor(comboBox);
        sportColumn.setCellEditor(defaultCellEditor);
        sportColumn.setCellRenderer(new CheckBoxCellRenderer(comboBox));
        table.repaint();

Código da classe tablecellrender:

class CheckBoxCellRenderer extends JComboBox implements TableCellRenderer {

    public CheckBoxCellRenderer(JComboBox comboBox) {

        for (int i = 0; i < comboBox.getItemCount(); i++) {
            this.addItem(comboBox.getItemAt(i));
        }
    }

    @Override
    public Component getTableCellRendererComponent(JTable jtable, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        this.setSelectedItem(value);

        return this;
    }

    @Override
    public void setSelectedItem(Object selecao) {
       this.setSelectedItem(selecao);
    }
}

Quem me puder ajudar agradecia.

Valeu