Dúvidas com o JTable [RESOLVIDO]

10 respostas
humberto-adm

Olá pessoal,

Estou construindo meus aplicativos e quando vou usar o JTable eu implemento o model na mão, tipo TableClienteModel. A dúvida é a seguinte, como faço para determinar a largura de uma coluna, pois todas as colunas das minhas tabelas ficam com o mesmo tamanho.

Uso o netbeans 6.8.

[]s, Obrigado.

10 Respostas

ViniGodoy

O model diz ao JTable apenas que informação vão dentro dele. Quem controla a aparência dessas informações é o próprio JTable.
Por isso, dê uma olhada em métodos como:

setAutoResizeMode()
getColumn()

E no método
setWidth() da classe TableColumn

humberto-adm

Obrigado pela dica ViniGodoy.

Quando eu vou utilizar o método getColumn() ele pede como parâmetro um (Object identifier). Este parâmetro é o número da coluna? o nome? já tentei os dois é não vai…
Vlw

almcosta

Humberto,

Use um DefaultTableModel.

DefaultTableModel dtm = suaJTable.getTableModel(); //se bem me lembro é esse o método.

Altere os campos que vc quer, seguindo as dicas do amigo vini.

Depois vc reaplica o TableModel a sua tabela.

suaJTable.setTableModel(dtm);

Veja se funciona!

Abraços,

André Monteiro
docente Instituto INFNET

abelgomes

caro almcosta, alguns usuários do GUJ estão fazendo campanha para não utilizarem o DefaultTableModel. Aconselho a vc e o nosso amigo humberto-adm darem uma lida. Olha ai na assinatura do ViniGodoy. Os links, deem uma lida e depois vejam se continuam a usar…vlws e desculpe qualquer coisa…

kemperacc
seuJTable.getColumnModel().getColumn(0).setPreferedWidth(100);
seuJTable.getColumnModel().getColumn(1).setPreferedWidth(200);
seuJTable.getColumnModel().getColumn(2).setPreferedWidth(400);
seuJTable.getColumnModel().getColumn(3).setPreferedWidth(20);
Nicolas_Fernandes

Pare já com o DefaultTableModel!
Implemente um modelo próprio para a sua tabela.
Além de ganhar no quesito performance, você estará trabalhando diretamente com objetos!

Siga o link em minha assinatura, ou na assinatura do ViniGodoy…
Lá existem links referentes à criação de um TableModel próprio!

Qualquer dúvida referente à eles, só postar aqui!

Abraços!

ViniGodoy

Ele já está fazendo certo, não dê a dica para ele fazer errado. Há explicações sobre o porque não fazer isso no link da minha assinatura.

humberto-adm

Galera depois de ler as dicas e pesquisar no fórum eu consegui resolver o meu problemas com as colunas da minha tabela. Agradeço a ajuda de todos e se alguém estiver interessado na solução segue o código:

// Código usado para dimensionar a largura da coluna TableColumn column = null; column = tblPacientes.getColumnModel().getColumn(0); column.setPreferredWidth(150);

kemperacc

humberto-adm:
Galera depois de ler as dicas e pesquisar no fórum eu consegui resolver o meu problemas com as colunas da minha tabela. Agradeço a ajuda de todos e se alguém estiver interessado na solução segue o código:

// Código usado para dimensionar a largura da coluna TableColumn column = null; column = tblPacientes.getColumnModel().getColumn(0); column.setPreferredWidth(150);

Cola isso numa linha so!!!

tblPacientes.getColumnModel().getColumn(0).setPreferredWidth(150);
humberto-adm

kemperacc:
humberto-adm:
Galera depois de ler as dicas e pesquisar no fórum eu consegui resolver o meu problemas com as colunas da minha tabela. Agradeço a ajuda de todos e se alguém estiver interessado na solução segue o código:

// Código usado para dimensionar a largura da coluna TableColumn column = null; column = tblPacientes.getColumnModel().getColumn(0); column.setPreferredWidth(150);

Cola isso numa linha so!!!

tblPacientes.getColumnModel().getColumn(0).setPreferredWidth(150);

Depois que postei no fórum eu abri meu código e vi que poderia melhorá-lo e coloquei tudo em uma linha, mas mesmo assim valeu pela dica.
[]s

Criado 20 de abril de 2010
Ultima resposta 30 de abr. de 2010
Respostas 10
Participantes 6