Setar a largura das colunas de um DefaultTableModel [RESOLVIDO]

4 respostas
lary_nascimento

Oi pessoal.

Estou fazendo uma pesquisa no banco de dados e mostrando o resultado em um JTable.
Estou usando DefaultTableModel da seguinte maneira:

DefaultTableModel tmveiculos = new DefaultTableModel(null, new String[]{"Selo", "Nome do Proprietário", "Placa", "Status", "Tel Residencial", "Tel Celular", "Tipo Veículo", "Veículo Escolar"}) {
        
        @Override
        public boolean isCellEditable(int row, int col) {
            return false;
        }
    };

A questão é, quero dizer qual a largura de cada coluna, já dei uma olhada na net e não achei nada que se aplicasse a isso...
valeu!

4 Respostas

C

Ola, eu faço assim

private void iditaLarguraColunaTabela() {
        
        TableColumn column = null;
        for (int i = 0; i < 9; i++) {
            column = tmveiculos.getColumnModel().getColumn(i);
            
                if (i == 1) {
                    column.setPreferredWidth(100); 
                } else {
                    column.setPreferredWidth(20);
                }
            
        }
    }

neste casso a coluna 1 sera a maior
Espero ter ajudado

S

oque voce quer é dar uma largura fixa para coluna ?

se for é simples , sua tabela , getColumnModel , getColumn com passando o index da coluna e depois vc seta o tamnho dela com

setPreferredWidth

ex:

suajTable.getColumnModel().getColumn(0).setPreferredWidth(70);
E

Você “não achou nada” porque normalmente as pessoas não usam DefaultTableModel.

Ele só deve ser usado se você quer mostrar uma matriz bidimensional de dados que não se alteram e que não precisam nem de formatação especial nem de ajeitar o tamanho das colunas.

Procure o tal do ObjectTableModel que o MarkyVasconcelos disponibilizou.

lary_nascimento

Deu certo com o:

suajTable.getColumnModel().getColumn(0).setPreferredWidth(10);

valeu! :smiley:

Criado 29 de abril de 2013
Ultima resposta 9 de mai. de 2013
Respostas 4
Participantes 4