Zebra

Este exemplo baseia-se no Exemplo com AbstractTableModel.

Crie uma classe que extenda DefaultTableCellRenderer

Classe

import java.awt.Color;

import java.awt.Component;

import javax.swing.JTable;

import javax.swing.table.DefaultTableCellRenderer;

 

public class TableZebradoRenderer extends DefaultTableCellRenderer {

 

 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)

 {

         Component myself = super.getTableCellRendererComponent(table,value, isSelected, hasFocus, row, column);

         if (isSelected) 

                 setBackground(Color.YELLOW); // se estiver selecionado, pinta de amarelo no fundo

         else

                 if (row % 2 == 0)

                         setBackground(new Color(225225225));

                 else

                         setBackground(Color.WHITE);

         return myself;

 }

}

 

Principal

Agora associe todas as suas colunas (CellRenderer) com esse objeto:

 

 table.getColumnModel().getColumn(modelo.COL_CODIGO  ).setCellRenderer(new TableZebradoRenderer());

 table.getColumnModel().getColumn(modelo.COL_SALARIO ).setCellRenderer(new TableZebradoRenderer());

 table.getColumnModel().getColumn(modelo.COL_NOME    ).setCellRenderer(new TableZebradoRenderer());

 table.getColumnModel().getColumn(modelo.COL_NASC    ).setCellRenderer(new TableZebradoRenderer());

 table.getColumnModel().getColumn(modelo.COL_TEMCARRO).setCellRenderer(new TableZebradoRenderer());

Tela

 

 

Observações

Para fazer alinhamento à direta + zebrado, é necessário implementar estas linhas no código do TableAlinhamentoDireitaRenderer

No caso do JCheckBox dentro do JTable é quase igual, veja o fonte do CheckBoxRenderer, que ali já tem as cores zebras (em comentário)