[quote=fabio.argenton]Manda vê:
Obs.: Joga esse código no método de carregar sua Jtable.
Obs.: No meu caso minha Jtable chama RdiGrid
Obs.: No meu caso eu mudo a cor da linha de acordo com o texto da coluna “Status”
RdiGrid.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
//A coluna do status é 3
Object ref = table.getValueAt(row, 3);//Coluna Status
//Coloca cor em todas as linhas,COLUNA(3) que tem o valor "Aberto"
if (ref != null && ref.equals("Aberto")) {//Se Status for igual a "Aberto"
setBackground(Color.RED);//Preenche a linha de vermelho
setForeground(Color.WHITE);//E a fonte de branco
} else {
boolean sel = isSelected;
if (sel == true) {
setBackground(getBackground());
setForeground(getForeground());
} else {//Se Status não for "Aberto"
setBackground(Color.WHITE);//Preenche a linha de branco
setForeground(new Color(51, 51, 51));//E a fonte de preto
}
}
return this;
}
});
Espero ter ajudado![/quote]
Bom dia, ajudou!!Agora funcionou (;
Obrigada fabio.argenton
Eu apenas acrescentei a linha super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
meu código ficou assim:
[code]package br.com.TableModel;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class TableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if(row % 2 == 0 ){
setBackground(Color.LIGHT_GRAY);
}else{
setBackground(null);
setForeground(new Color(51, 51, 51));
}
if(isSelected){
setBackground(Color.GREEN);
setForeground(getForeground());
}
table.getColumnModel().getColumn(0).setMaxWidth(50);
table.getColumnModel().getColumn(1).setMaxWidth(500);
table.getColumnModel().getColumn(2).setMaxWidth(70);
table.getColumnModel().getColumn(3).setMaxWidth(50);
table.getColumnModel().getColumn(4).setMaxWidth(50);
return this;
}
}[/code]