Buenas tardes compañeros, estoy intentando dar color a un Jtable
public Component getTableCellRendererComponent(JTable tbl, Object value,
boolean selected, boolean focused, int row, int column) {
// Recoger la fecha del sistema y restarle 30 días
Calendar calendar = GregorianCalendar.getInstance();
Date fecha = calendar.getTime();
calendar.setTime(fecha);
calendar.add(Calendar.DAY_OF_YEAR, -30);
Date tiempo = calendar.getTime();
SimpleDateFormat formatoDeFecha = new SimpleDateFormat("dd-MM-yyyy");
// Inicio la busqueda de las fechas correspondientes para cambiar su fondo a "rojo"
String prueba = null;
for (int i = 0; i < tbl.getColumnCount(); i++) {
if (tbl.getColumnName(i).equals("FECHA DE ENTREGA")) {
int count = tbl.getSelectedColumn() + (i + 1);
for (int a = 0; a < tbl.getRowCount();) {
prueba = tbl.getValueAt(a, count).toString();
System.out.println(prueba);
// Una vez recogido los datos, se hace un parse
Date fechapedido = null;
try {
fechapedido = formatoDeFecha.parse(prueba);
} catch (ParseException e) {
e.printStackTrace();
}
JLabel cell = (JLabel) super.getTableCellRendererComponent(tbl, value,
selected, focused, a, count);
if (fechapedido.before(tiempo)) {
System.out.println(fechapedido+"//"+tiempo);
cell.setBackground(Color.ORANGE);
return cell;
} else {
cell.setBackground(Color.BLACK);
return cell;
}
}
}
}
return null;
}
El problema es que me pinta toda la tabla, no las celdas que se me marcan en el filtro, no consigo dar con el problema.
¿Alguna idea?
Gracias