Mudar a cor de uma linha determinada quando uma data de uma coluna [RESOLVIDO]

boa tarde, faz dias que estou tentando mudar de cor apenas uma linha quando na coluna tal a data naquela linha for mais antiga do que a atual.

tenho meu ColorRenderer abaixo funcionando bem…

mas não consigo fazer ela mudar de maneira nenghuma.

Alguém me da uma luz ai??

valeu

[code]package model;

import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
*

  • @author wagner
    */
    public class ColorRenderer extends DefaultTableCellRenderer {

    //private NumberFormat formatter = NumberFormat.getCurrencyInstance();
    package model;

import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
*

  • @author wagner
    */
    public class ColorRenderer extends DefaultTableCellRenderer {

    //private NumberFormat formatter = NumberFormat.getCurrencyInstance();

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus, int row, int column) {
    Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

    setFont(new java.awt.Font(“Calibri”, 0, 11 ));
    setBorder(getBorder());

    if(!isSelected){
    if(row %2 ==0 && row != 1){
    c.setBackground(new Color(240,255,255));
    c.setForeground(new Color(0,0,0));
    } else{
    c.setBackground(Color.WHITE);
    c.setForeground(new Color(0,0,0));
    }
    }else{
    c.setBackground(new Color(173,216,230));
    c.setForeground(new Color(255,255,255));
    }

    //formata os digitos - nao é necessario agora
    // if(value != null){
    // formatter.setMaximumFractionDigits(2);
    // setText(formatter.format(value));
    // setFont(new Font(“helvetica”,Font.ROMAN_BASELINE,11));
    // setHorizontalAlignment(SwingConstants.RIGHT);
    // }else{
    // setText("");
    // }

    return c;
    }
    }
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus, int row, int column) {
    Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

    setFont(new java.awt.Font(“Calibri”, 0, 11 ));
    setBorder(getBorder());

    if(!isSelected){
    if(row %2 ==0 && row != 1){
    c.setBackground(new Color(240,255,255));
    c.setForeground(new Color(0,0,0));
    } else{
    c.setBackground(Color.WHITE);
    c.setForeground(new Color(0,0,0));
    }
    }else{
    c.setBackground(new Color(173,216,230));
    c.setForeground(new Color(255,255,255));
    }

    //formata os digitos - nao é necessario agora
    // if(value != null){
    // formatter.setMaximumFractionDigits(2);
    // setText(formatter.format(value));
    // setFont(new Font(“helvetica”,Font.ROMAN_BASELINE,11));
    // setHorizontalAlignment(SwingConstants.RIGHT);
    // }else{
    // setText("");
    // }

    return c;
    }
    }[/code]

tenho esse carrega dados abaixo

[code] public void Dados() throws SQLException{
ConnEmprestimos u = new ConnEmprestimos(null);
ArrayList user = u.Busca();
if(user.isEmpty()){
//JOptionPane.showMessageDialog(rootPane, “Não há empréstimos cadastrados”,“Informação”,JOptionPane.INFORMATION_MESSAGE);
}else{
boolean[] edicao = {false, false, false, false, false, false, false, false,false};
String[] colunas = new String []{“Nome”,“CPF”,“Fone”,“Endereço”,“Livro”,“Data Retirada”,“Data Entrega”,“Situação”,“Código”};
ModelEmprestimos mod = new model.ModelEmprestimos(user, colunas, edicao) {
Class[] types = new Class [] {
java.lang.String.class,//nome
java.lang.String.class,//login
java.lang.String.class,//senha
java.lang.String.class,//senha
java.lang.String.class,//senha
java.sql.Date.class,//senha
java.sql.Date.class,
java.lang.String.class,
java.lang.String.class,
java.lang.Integer.class};//nivel
@Override
public Class<?> getColumnClass(int column) {return types[column];}
};

        sorter = new TableRowSorter<TableModel>(mod);
        TableEmprestimos.setModel(mod);
        TableEmprestimos.setDefaultRenderer(Object.class, new ColorRenderer());
        TableEmprestimos.setRowSorter(sorter);
        TableEmprestimos.setRowHeight(25);
        TableEmprestimos.getColumnModel().getColumn(0).setMaxWidth(280);
        TableEmprestimos.getColumnModel().getColumn(0).setMinWidth(280);

// TableEmprestimos.getColumnModel().getColumn(1).setMaxWidth(100);
// TableEmprestimos.getColumnModel().getColumn(1).setMinWidth(100);
// TableEmprestimos.getColumnModel().getColumn(2).setMaxWidth(100);
// TableEmprestimos.getColumnModel().getColumn(2).setMinWidth(100);
// TableEmprestimos.getColumnModel().getColumn(3).setMaxWidth(150);
// TableEmprestimos.getColumnModel().getColumn(3).setMinWidth(150);
TableEmprestimos.getColumnModel().getColumn(4).setMaxWidth(300);
TableEmprestimos.getColumnModel().getColumn(4).setMinWidth(300);
// TableEmprestimos.getColumnModel().getColumn(5).setMaxWidth(100);
// TableEmprestimos.getColumnModel().getColumn(5).setMinWidth(100);
// TableEmprestimos.getColumnModel().getColumn(6).setMaxWidth(100);
// TableEmprestimos.getColumnModel().getColumn(6).setMinWidth(100);
// TableEmprestimos.getColumnModel().getColumn(7).setMaxWidth(90);
// TableEmprestimos.getColumnModel().getColumn(7).setMinWidth(90);
// TableEmprestimos.getColumnModel().getColumn(8).setMaxWidth(95);
// TableEmprestimos.getColumnModel().getColumn(8).setMinWidth(95);
for(final Emprestimos e : user){
try {
SimpleDateFormat DataCerta = new SimpleDateFormat(“yyyy-MM-dd”);
data = DataCerta.format(new Date());
dat = new java.sql.Date(((java.util.Date) DataCerta.parse(data)).getTime());

                if (e.getDataEntrega().before(dat) && e.getIdSituacao() != 2) { 
                    System.out.println("Data entrega: "+e.getDataEntrega());
                    System.out.println("Date Atual : "+dat);
                    System.out.println(e.getIdSituacao());
                    if(e.getIdSituacao() == 4){
                           // QUANDO ENTRAR AQUI GOSTARIA Q A LINHA MUDASSE DE COR, PARA LARANJA OU VERMELHA.!!!!!!!!!!
                    }else{
                        JOptionPane.showMessageDialog(rootPane, "O livro:  ( "+e.getNomeLivro()+" ) não foi entregue na data marcada. \n Seu status será mudado para (ATRASADO)");
                    
                        // cria a conexão  
                        ConnEmprestimos a = new ConnEmprestimos(null);  
                        a.Connect();  

                        // edita 
                        a.Entrega(4,e.getIdEmprestimo());  // 4 = atrasado

                        //fecha  
                        a.Fecha();
                        
                    }
                } else {  
                    //
                }  
            } catch (ParseException ex) {
                Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
            }
        
        }

}[/code]

Alguem da uma ajudinha???

bahh… alguém tem alguma dica? qlqr dica ajuda!

valeu