Puoi aggiungere una variabile (ad esempio un Vector) all'interno della classe MioCellRenderer. Quando calcoli le righe da colorare, aggiungi l'indice di tali righe all'interno di un Vector che poi passerai al costruttore della classe MioCellRenderer. All'interno del metodo getTableCellRendererComponent poi vai a verificare se la riga corrente è presente nel vector:
codice:
package datacleaning;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class MioCellRenderer extends DefaultTableCellRenderer{
private Vector<Integer> righeRosse = new Vector<Integer>();
private static final long serialVersionUID = 1L;
public MioCellRenderer(Vector<Integer> v){
this.righeRosse = v;
}
public Component getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
Component cell = super.getTableCellRendererComponent (table, value, isSelected, hasFocus, row, column);
if(righeRosse.contains(row)) //per esempio
cell.setBackground( Color.red );
else
cell.setBackground( Color.white );
return cell;
}
}
Oppure se non vuoi utilizzare il costruttore puoi utlizzare un metodo setRigheRosse(Vector<Integer> v)