ciao!

io mi sono creato una classe apposita che estende DefaultTableCellRenderer.
prova a vedere se può esserti d'aiuto:
codice:
public class AlternateRowsColor extends DefaultTableCellRenderer {

    private Color currentColor;

    public AlternateRowsColor() {
        setOpaque(true);
    }

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean selected, boolean focused, int row, int col) {
        if (row % 2 == 0) {
            currentColor = Color.white;
        } else {
            currentColor = new Color(222, 222, 225);
        }
        if (selected) {
            super.setForeground(table.getSelectionForeground());
            super.setBackground(table.getSelectionBackground());
        } else {
            super.setForeground(Color.black);
            super.setBackground(currentColor);
        }
        setFont(table.getFont());
        setValue(value);
        return this;
    }
}
io faccio il cambio di colore se la riga è pari o dispari.