Mudar cor de algumas linhas jTable

Olá!
Gostaria de saber como eu faço para mudar a cor de algumas linhas de uma jTable.
É o seguinte:
Nesta jTable eu consulto produtos e gostaria que quando o produto estiver com o estoque igual a 0 a linha apareça em vermelho. Nela eu mostro o Código, Descrição, Estoque e Estoque Mínimo.
Agradeço a ajuda!
T+

Eu não tenho aqui o código, mas vc precisará criar uma classe que implemente TableCellRenderer, e registrar ela como sendo o renderizador da célula que você for implementar essa lógica. Dá uma olhada na documentação dessa classe que é bem simples.

Oi,

Exatamente isso…
Você deverá implementar a classe TableCellRenderer e sobreescrever métodos necessários.

Apenas um exemplo.:

[code]class Colorir
extends JLabel
implements TableCellRenderer
{
public
Component getTableCellRendererComponent
(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column
)
{

 		if(estoque == 0)
	{
	       setForeground(Color.RED);	
	}
	else
	{
	       setForeground(Color.BLACK);		
	}
 
 		setText(value.toString());
 	
	return this;   	
}

}[/code]

E você chama essa classe desta maneira.:

TableCellRenderer tcr = new Colorir(); TableColumn column = tabela.getColumnModel().getColumn(1); column.setCellRenderer(tcr);

Espero ter ajudado

Tchauzin!

Google 1º resultado:

http://www.java2s.com/Code/Java/Swing-JFC/InstalldifferentTableRendererforevenandoddrows.htm

Colorir linha especifica em JTable

Ae galera! Valeu pelas dicas!
Tô implementando aqui qualquer coisa eu posto o resultado!
Valew!

[quote=lina]Oi,

Exatamente isso…
Você deverá implementar a classe TableCellRenderer e sobreescrever métodos necessários.

Apenas um exemplo.:

[code]class Colorir
extends JLabel
implements TableCellRenderer
{
public
Component getTableCellRendererComponent
(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column
)
{

 		if(estoque == 0)
	{
	       setForeground(Color.RED);	
	}
	else
	{
	       setForeground(Color.BLACK);		
	}
 
 		setText(value.toString());
 	
	return this;   	
}

}[/code]

E você chama essa classe desta maneira.:

TableCellRenderer tcr = new Colorir(); TableColumn column = tabela.getColumnModel().getColumn(1); column.setCellRenderer(tcr);

Espero ter ajudado

Tchauzin!

[/quote]

Bom dia lina será q vc pode me da uma forcinha com essa implementação aqui: http://www.guj.com.br/java/305850-mudar-as-cores-das-linha-de-uma-jtabel-conforme-data-de-vencimento