Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > JTable y el método tablechanged

Buenas,

estoy intentando cambiar la fuente a BOLD de una fila ante el cambio de la columna 5 que contiene un Check.

He usado el listener TableModelListener y redefinido el método tableChanged(TableModelEvent e) os paso el código:

"
@Override
public void tableChanged(TableModelEvent e) {
//Evento de actualización
if (e.getType() == TableModelEvent.UPDATE){
TableModel modelo = ((TableModel) e.getSource());

int fila = e.getFirstRow();
int col = e.getColumn();

if (col == 5){
boolean valor = ((Boolean) this.tabla.getTable().getValueAt(e.getFirstRow(), 5)).booleanValue();
if (valor){
// Cambio a Bold la tabla.
for (col = 0 ; col <5 ; col++){
TableCellRenderer render = this.tabla.getTable().getCellRenderer(fila, col);
Component c = this.tabla.getTable().prepareRenderer(render, fila, col);
// Esto para ver que pinta algo
// c.setBackground(Color.BLACK);
}
}
}
}
}
}
"

El problema que la fila no llega a cambiar a negrita.

Gracias por la ayuda o pista.

noviembre 23, 2015 | Registered Commenterkako

En el código, de momento, no estás intentando poner negrita, solo poner el fondo en negro, ¿me equivoco?

No comprendo todavía muy bien lo que determina que un componente se redibuje, pero ¿has probado a hacer un repaint() de la tabla?

noviembre 28, 2015 | Registered Commenterrickiees