Hola, mi problema es el siguiente:
Tengo un JTable en el que una de las columnas es un JComboBox, cada vez que actualizo las filas de la tabla el valor que aparece en el JComboBox es vacio y no tengo ningún campo vacio en la lista de elementos del JComboBox. El codigo para insertar el JComboBox en la columna y seleccionar el primer elemento es el siguiente:
funcionesString =ControladorFSLString.getFuncionesName();
MyComboBoxRenderer jcbox = new MyComboBoxRenderer(funcionesString);
MyComboBoxEditor mcbEdit = new MyComboBoxEditor(funcionesString);
TableColumn col = jTableAtributosNodo.getColumnModel().getColumn(3);
col.setCellEditor(mcbEdit);
jcbox = new MyComboBoxRenderer(funcionesString);
jcbox.setSelectedIndex(0);
Las clases MyComboBoxEditor y MyComboBoxRenderer que utilizo son:
public class MyComboBoxRenderer extends JComboBox implements TableCellRenderer {
public MyComboBoxRenderer(Object[] items) {
super(items);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (isSelected) {
setForeground(table.getSelectionForeground());
super.setBackground(table.getSelectionBackground() );
} else {
setForeground(table.getForeground());
setBackground(table.getBackground());
}
setSelectedItem(value);
return this;
}
public void seleccionarValor(JTable table,Object value){
setForeground(table.getSelectionForeground());
super.setBackground(table.getSelectionBackground() );
setSelectedItem(value);
}
}
public class MyComboBoxEditor extends DefaultCellEditor {
public MyComboBoxEditor(Object[] items) {
super(new JComboBox(items));
}
}
¿Que puedo hacer para que me aparezca el primer elemento del JComboBox u otro seleccionado por defecto y no vacio?.
Gracias.