Header no JTable

Olá a todos:

Estou com um problema que embora prosaico (parece perfumaria mas não é), está atrapalhando em algumas situações. Quando eu tenho o texto do header maior que a coluna, perco muito espaço para que o texto apareça. Alguém sabe como poderia colocar o dito cujo em duas linhas? Já tentetei tudo que é renderer e não deu certo…

Value !!!

[]´s

Faça assim:
No seu table model, o método getColumnName(int) vai retornar o nome da coluna então você devolve um texto como abaixo:

public String getColumnName(int c) {
      String s = "";
      if (c == 0)  s = "<html>Linha1<br>Linha2</html>";
          // ...  outras colunas
}

Para deixar a altura do header, de modo que seja capaz de exibir completamente as duas linhas, faça assim:

      // ...
   JTable table = ...
 
   JTableHeader header = table.getTableHeader();
   header.setPreferredSize(new Dimension(0, 35));
      // ...

Isso é tudo.
Para deixar a altura do header de modo que acomode as linhas para qualquer estilo de fonte, dá mais trabalho pq vc vai ter que pegar a fonte atual e calcular com o FontMetrics e etc, etc… Dá uma googleada que vc acha… :wink:

Ai dango…

Valeu mesmo…

Obrigado !!! :!:

Amigo,

Eu também estava precisando disto. Achei que os caracteres especiais resolviam ‘
’ mas não fui feliz com eles

Obrigado,

Márcio

pessoal,

estou com problemas quando utilizo o
no título da coluna.
Quando a tabela tem muitas colunas , eu preciso eu preciso adicionar um scroll horizontal na JTable.
O problema é que quando movo o scroll, o header desformata todo o cabeçalho(parece problema de repaint) ,
o título das tabelas fica completamente ilegível.
Alguem já passou por isso?