Bom achei aqui no GUJ mesmo um tópico sobre o cellRender
dei uma lida coloquei no meu código pra testa e funcionou certinho,
so que eu queria saber se tem como eu estar pintando de cores diferenciadas
algumas linhas aleatórias, assim como o dono do tópico que eu me referenciei queria?
Eu tenho uma JTabel onde mostra as parcelas de uma compra e eu queria colocar em vermelho
somente as que estão atrasadas.
O que eu tentei fazer foi mandar em um vetor com as linhas que eu queria que mudasse de cor, o meu for
começa de zero e vai até o fim da tabela eu fiz assim e não pinta nenhuma linha.
tentei de outros geitos e so consegui pinta uma linha.
Tem como eu fazer isso?
o código que eu estou é o abaixo eu só fiz algumas pequenas modificações
para ver se eu conseguia fazer o que eu preciso.
import java.awt.Color;
import java.awt.Component;
import java.util.Vector;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class ColorCellRenderer extends DefaultTableCellRenderer
{
private Color bg;
private Color fg;
private Vector vetRow;
public ColorCellRenderer(Color backGround, Color foreGround, Vector vet)
{
this.bg = backGround;
this.fg = foreGround;
this.vetRow = vet;
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
for(int i=0; i<table.getRowCount();i++){
if (i<vetRow.size() && i == vetRow.get(i)){
comp.setBackground(bg);
comp.setForeground(fg);
}else{
comp.setBackground(table.getBackground());
comp.setForeground(table.getForeground());
}
}
if(isSelected)
{
comp.setBackground(table.getSelectionBackground());
comp.setForeground(table.getSelectionForeground());
}
return comp;
}
}
referente a este tópico:
http://www.guj.com.br/posts/list/138432.java#744682