Background no header da jtable

Olá todos!

Sou bem iniciante em programação e estou tentando aprender com java.
É o seguinte: tenho um modelo de tabela para uma jtable incluida no modo
design do eclipse. Quero o header dessa jtable com background co cor
diferente das demais linhas.

O problema é que o header do model só fica colorido se eu usar o LookAndFeel getCrossPlatformLookAndFeelClassName().

Em qualquer outro, a cor aparece apenas no contorno das células do header do model, e se diminuir a largura dele, aparece o header da
jtable com a cor escolhida. Alguém saber por que?

Obrigado por qualquer ajuda.

João.

Uma forma que não vai te dar dor de cabeça, é você criar seu próprio renderizador para o header.

// especializando a classe JLabel para renderizar header da JTable
class MeuHeader extends JLabel implements TableCellRenderer {

  public Component getTableCellRendererComponent(JTable table,
                                                 Object value,
                                                 boolean isSelected,
                                                 boolean hasFocus,
                                                 int row,
                                                 int col) {
      setText(String.valueOf(value));
      setBackground(Color.GREEN); // usando um fundo verde, só de exemplo
      return this;
  }
}

E depois que você instanciou sua JTable, faça

MeuHeader meuHeader = new MeuHeader();
TableColumnModel modeloColunas = minhaJTable.getColumnModel();
for (int i = 0; i < modeloColunas.getColumnCount(); i++) {
    TableColumn coluna = modeloColunas.getColumn( i );
    coluna.setHeaderRenderer( meuHeader );
}

Staroski, obrigado pela atenção!

Vou tentar como você sugeriu, mas gostaria de saber se alguém saber porque isso acontece e se ha
outra forma de fazer.

João