Mudar a cor de uma linha do JTable?

4 respostas
sanson

Oi!
Como eu faço para mudar a cor de uma linha especifica do JTable?

Muito obrigado

Luiz Bernardo C. Sanson

4 Respostas

TedLoprao

Utilize um TableCellRenderer para fazer isso…

Vc pode inclusive fazer um algoritmo, dependendo do que vc quer, para pintar as linhas pares de uma cor e as impares de outra…

Fallow

sanson

Bah, não estou conseguindo ultilizar TableCellRenderer!!!
Alguem tem algum exemplo ou site com exemplo pra mim dar uma olhada??

Muito obrigado!

Luiz Bernardo C. Sanson

TedLoprao

Veja esse exemplo de Renderer:

public class Renderer 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.RED);
      } else {
         setBackground(Color.WHITE);
      }
      return this; 
   }
}

Ele fará com que as suas linhas pares (na tela) fiquem vermelhas…

Para setá-lo vai depender da maneira que vc está trabalhando com as classes da sua tableModel, por exemplo, vc pode usar o setDefaultRenderer ou substituir o método getCellRenderer da JTable. Mas como disse isso depende de vc!

Vc já olhou o tutorial da sun??
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

fallow

sanson

O problema é que numa das colunas eu tenho um checkBox, e quando eu faço o DefaultTableCellRenderer o check não aparece mais! fica exibindo “true” e “false” na coluna dos checks!!!

O que eu quero fazer é quando eu marcar um checkBox ele mude a cor da linha!

Muito obrigado!

Luiz Bernardo

Criado 9 de agosto de 2004
Ultima resposta 9 de ago. de 2004
Respostas 4
Participantes 2