Reexecutar Renderer JTable

Uso um renderer como esse para de acordo com um dado, exibir um icone na JTable:

[code]ublic class TestCellRenderer extends JLabel implements TableCellRenderer {
List list=null;
public TestCellRenderer(List l){
super();
this.list=l;
}

@Override
public Component getTableCellRendererComponent(JTable table, Object object,boolean isSelected, boolean hasFocus, int row, int column) {	
	     Student s=list.get(row);
		if(s.getPoints()>=90)
	        	setIcon(new ImageIcon(getClass().getResource(okay_path)));
		if(s.getPoints()<90)
			setIcon(new ImageIcon(getClass().getResource(error_path)));    	    	
		    	     
	} 		
		setHorizontalAlignment(JLabel.CENTER);			
	return this;
}

}[/code]
Que funciona 100% quando eu carrego os dados para a JTable e mostra o ícone perfeitamente.Meu problema começa quando eu clico na linha da JTable e eu preciso editar esses dados.Dependendo do valor, a imagem será mudada.Mas eu nunca consigo atualizar o JLabel no model da minha JTable.
tentei forçar, mas não muda a imagem a não ser que eu feche a tela e entre de novo:

public JLabel setJLabel(int value){ JLabel l=new JLabel(); if(value>=90) l.setIcon(new ImageIcon(getClass().getResource("...successpath"))); else if(value<90) l.setIcon(new ImageIcon(getClass().getResource("...failedpath"))); return l; }
no meu setData:
s.setRate(setJLabel(c.getRate()));
Mas nada funcionou.

Reexecutar renderer?Para que isso?Não precisa de renderer. O model pode mostrar imagens nativamente.Armazene suas imagens no seu model e crie um método que recebe o valor inteiro e retorne um ImageIcon no seu getValueAt. Não esqueça do getColumnClass retornando um ImageIcon para a coluna que sua imagem aparecerá.