Dúvida com JTable

Bom dia pessoal!

Estou aprendendo a trabalhar com uma JTable e estou com uma dúvida…

Fiz uma classe que extende de “DefaultTableCellRenderer” para poder pintar as linhas da minha tabela. O problema é que ele só está pintando as células que são do tipo “String”, como eu faço para pintar as outras também???

Obrigado!

Poste o código do seu renderer.

Esse problema foi resolvido!

Função
@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);

if (row % 2 == 0) {
  comp.setBackground(Color.LIGHT_GRAY);
  comp.setForeground(Color.WHITE);
} else {
  comp.setBackground(Color.GREEN);
  comp.setForeground(Color.WHITE);
}



return comp;

}

  [b]Na Chamada[/b]
              resultTable.setDefaultRenderer(String.class, render);
  resultTable.setDefaultRenderer(Date.class, render);
  resultTable.setDefaultRenderer(Integer.class, render);

Agora minha dúvida é outra:

Tenho que pintar as células de acordo com o conteúdo de uma das células. Esse campo é uma data e dependendo do valor que for informado pinto de uma cor ou de outra.

Como faço?

Obrigado!

Se você quer que o renderer seja utilizado para todas as colunas, pode fazer assim também:

resultTable.setDefaultRenderer(Object.class, render);

Já tive que fazer algo semelhante e na época a solução foi verificar qual a cor deveria pintar a linha ao renderizar a primeira coluna, armazenar esta cor em um atributo do renderer e pintar todas as outras colunas com a mesma cor.

Outra vez precisava tomar umas decisões mais complexas dentro do renderer e a solução foi fazer o model retornar um objeto com vários atributos (no getValueAt) e utilizar estes atributos dentro do renderer para tomar as decisões.
Acho que isso não é muito recomendado, mas na época precisava de uma solução rápida…