package testes.table.contratte;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.text.ParseException;
import java.util.Date;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import model.Funcoes;
import model.VariaveisDeSistema;
/**
* @author Gabriel Saraiva
*
*/
public class DespesasTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component celula = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
Color bg1 = new Color(232, 242, 254);
Color bg2 = new Color(255, 255, 255);
Color bgPago = new Color(210, 255, 220);
Color bgNaoPago = new Color(255, 210, 220);
Color bgSelecionado = new Color(179, 224, 253);
Color fgPago = new Color(10, 55, 20);
Color fgNaoPago = new Color(55, 10, 20);
Color fgSelecionado = new Color(0, 0, 100);
Color fg = celula.getForeground();
if (row % 2 == 0) {
celula.setForeground(Color.BLACK);
celula.setBackground(bg1);
} else {
celula.setForeground(Color.BLACK);
celula.setBackground(bg2);
}
if (value.equals("NÃO PAGO")) {
celula.setForeground(fgNaoPago);
celula.setBackground(bgNaoPago);
}
String hoje = Funcoes.formatadorDeDatasParaPtBr.format(new java.util.Date());
if (value.equals(hoje) && column == 2) {
celula.setBackground(VariaveisDeSistema.COR_DESTAQUE_MAX);
}
if (column == 2) {
try {
Date data = Funcoes.formatadorDeDatasParaPtBr.parse(value.toString());
if (data.after(new Date())) {
celula.setBackground(VariaveisDeSistema.COR_AVISO_1);
}
} catch (ParseException e) {
}
}
if (isSelected) {
celula.setBackground(bgSelecionado);
celula.setForeground(fgSelecionado);
}
return celula;
}
}
Que gera isso:[img]http://img210.imageshack.us/img210/7259/10965427.jpg[/img]
O meu problema é exemplificado na 3ª linha onde o campo vencimento está em rosa (destaque) e o estado está marcando PAGO, não consigo bolar uma maneira de fazer com que ele fique sem marcar quando ja estiver pago sem usar [color=cyan]gambiarra[/color] recurso técnico provisorio...
Bom... se alguem puder me ajudar!!! VLWW! ^^ hehe