jTable tamanho da coluna (Resolvido !)

7 respostas
R

Pessoal tenho uma jTable que esta com o código personalizado:

DefaultTableModel tmContato = new DefaultTableModel(null, new String[]{“Nome Fantasia”, “Cidade”, “Telefone”});

Mas quando eu executo as colunas ficam todas do mesmo tamanho, como eu faço já que a primeira coluna tem que ficar bem maior que as outras?

7 Respostas

R

http://www.exampledepot.com/egs/javax.swing.table/ColSize.html

I

tabela.getColumnModel().getColumn(0).setPreferredWidth(200); tabela.getColumnModel().getColumn(1).setPreferredWidth(200); tabela.getColumnModel().getColumn(2).setPreferredWidth(250); .getColumn(coluna que deseja aqui)
.setPreferredWidth(tamnho que deseja aqui);

ATENÇÃO!!
Você coloca isso no seu JTable
Onde está “tabela” é o nome do seu JTable

Att Ingo G. B. Eyng

R

estou usando o Netbeans mas como eu consigo colocar isso na tabela?

R

Alguém se habilita?

R

Você não coloca isso “na tabela”, não há suporte para isso no construtor de formulários. Você terá de escrever os trechos adequados no código-fonte da sua classe. Sugiro fazê-lo logo em seguida à atribuição do TableModel na sua JTable.

N

vlw ghilherme, funcinou muito bem :smiley:

M

Use este método abaixo e chama ele na inicialização do form

private void tamanho_colunas() {

DefaultTableCellRenderer rendererCentro = new DefaultTableCellRenderer();

rendererCentro.setHorizontalAlignment(SwingConstants.CENTER);
DefaultTableCellRenderer rendererDireita = new DefaultTableCellRenderer();  
    rendererDireita.setHorizontalAlignment(SwingConstants.RIGHT);
    
    DefaultTableCellRenderer rendererEsquerda = new DefaultTableCellRenderer();  
    rendererEsquerda.setHorizontalAlignment(SwingConstants.LEFT);  
  
    JTableHeader header = tb_local.getTableHeader();   
    header.setPreferredSize(new Dimension(0, 20));   // define a largura do cabeçalho
    TableColumnModel modeloDaColuna = tb_local.getColumnModel();  
    
    modeloDaColuna.getColumn(0).setCellRenderer(rendererCentro);  
    modeloDaColuna.getColumn(1).setCellRenderer(rendererEsquerda); 
    modeloDaColuna.getColumn(2).setCellRenderer(rendererEsquerda);
    modeloDaColuna.getColumn(3).setCellRenderer(rendererCentro);
    modeloDaColuna.getColumn(4).setCellRenderer(rendererEsquerda);
    modeloDaColuna.getColumn(5).setCellRenderer(rendererEsquerda);
    modeloDaColuna.getColumn(6).setCellRenderer(rendererCentro);
    
    modeloDaColuna.getColumn(0).setMaxWidth(50);  
    modeloDaColuna.getColumn(1).setMaxWidth(350);
    modeloDaColuna.getColumn(2).setMaxWidth(350);
    modeloDaColuna.getColumn(3).setMaxWidth(50);
    modeloDaColuna.getColumn(4).setMaxWidth(200);
    modeloDaColuna.getColumn(5).setMaxWidth(200);
    modeloDaColuna.getColumn(6).setMaxWidth(100);
       
}
Criado 1 de dezembro de 2011
Ultima resposta 29 de nov. de 2012
Respostas 7
Participantes 5