Caros. Este é o meu primeiro tópico aqui no GUJ.
Preciso que meu jtable tenha tamanhos diferentes para cada coluna, e ao mesmo tempo, que apareça a barra horizontal.
Se eu seto:
jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
tudo bem, a barra aparece, mas os tamanhos definidos em meu render não são mais implantados.
Pergunto:
Existe alguma forma de implantar o jtable com tamanhos de colunas diferentes e com abarra horizontal?
//seta o tamanho da coluna
modeloDaColuna2.getColumn(5).setMaxWidth(300);
//seta a posição do texto dentro das células da coluna do jtable
modeloDaColuna2.getColumn(0).setCellRenderer(rendererEsquerda);
Funciona. Mas quando tenho muitas colunas, elas não cabem no scroll, ai, tá feita a caca.
Eu preciso que mesmo setando modeloDaColuna2.getColumn(5).setMaxWidth(300); apareça a barra horizontal.
E então, para cada coluna eu defino o tamanho que deverá receber…
jTable.getColumn(jTable.getColumnName(0)).setPreferredWidth(100);
jTable.getColumn(jTable.getColumnName(1)).setPreferredWidth(230);
jTable.getColumn(jTable.getColumnName(2)).setPreferredWidth(300);
jTable.getColumn(jTable.getColumnName(3)).setPreferredWidth(80);
Testa aí e diz se funciona…
Um abraço!
Hehehe…
Parece que já conseguiu, porém usando max e min você duplica as linhas de código e consequentemente a implementaçao da JTable para os métodos…
Se você usar setPreferredWidth() vai ser uma melhor prática, lembrando que deverá definir todas as colunas…
Um abraço!
Pode ateh ser uma linha a menos de codigo porem com o Max e o Min caso vc mecha no tamanho das colunas com o mouse elas ficaram diferente do tamanho preferido, o tamanho preferido nao eh fixo, pode ser variado durante a execucao desta forma nao garante que a coluna permanecera fixa do tamanho desejado.
Aí, brother…
Com certeza!
Então, mas é muito específico o caso onde você não queira que alguém altere o tamanho da coluna se quiser…
Aliás, o mais interessante é justamente dar a possibilidade do usuário poder alterar o tamanho, caso queira visualizar no momento a coluna um pouco mais larga ou um pouco mais curta…
E, sendo assim, você pode bloquear o redimensionamento de colunas específicas… É tudo uma questão de aplicação…
Eu não quis julgar que o max e o min não são aplicáveis, mas temos que dar possibilidades na medida do possível…
E é sempre bom saber fazer as mais diversas maneiras, não é mesmo?
Um abraço!