Largura coluna JTable

Como posso definir a largura de determinada colunda da minha JTable?

rocha

Você precis trabalhar com renderes. Veja o código abaixo

[code]

  ...

   private JTable getJTable() {
	if (jTable == null) {
		jTable = new JTable(modelo);
		defineRenderers();
	}
	return jTable;
}

   ....

    /**
 * 
 */
private void defineRenderers() {
	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 = jTable.getTableHeader(); 
	header.setPreferredSize(new Dimension(0, 35)); 
	TableColumnModel modeloDaColuna = jTable.getColumnModel();
	
	modeloDaColuna.getColumn(0).setCellRenderer(rendererCentro);
	modeloDaColuna.getColumn(1).setCellRenderer(rendererEsquerda);
	modeloDaColuna.getColumn(2).setCellRenderer(rendererCentro);

	modeloDaColuna.getColumn(0).setMaxWidth(35);
	modeloDaColuna.getColumn(1).setMaxWidth(75);
	modeloDaColuna.getColumn(2).setMaxWidth(325);
	modeloDaColuna.getColumn(2).setMinWidth(225);
	modeloDaColuna.getColumn(3).setMaxWidth(195);
}[/code]

abraço,

Márcio

Valeu deu certo!!!

É isso aí Márcio! 5 estrelas pra você

Minha dúvida foi solucionada com este post, valeu


poderia explicar de onde saiu essa variavel "modelo" ?

não entendi como usa isso.

eu quero apenas redimensionar a largura de uma coluna.

Agradecido,

André

poderia explicar de onde saiu essa variavel “modelo” ?

não entendi como usa isso.

eu quero apenas redimensionar a largura de uma coluna.

Agradecido,

André

E como faço para que a coluna seja automaticamente redimensionada quando um valor de qualquer linha for maior que a largura configurada da coluna?

Bom dia pessoal!
Estou criando uma aplicação para jme utilizando CDC. Estou usando componentes swing(JFrame,jInternalFrame, jTabbedPane e JTable). Crio uma JTable e a coloco no jTabbedPane. Essa tabela tem umas 8 colunas. Como o tamanho da tela é reduzido no pocket, não posso criar uma tabela com largura muito grande. Gostaria de criar uma tabela pequena, com barras de rolagem, de modo que caso todas as linhas não possam ser exibidas na tabela, apareça uma barra de rolagem vertical. Até ai tudo bem. O problema está na barra de rolagem horizontal. Eu gostaria de aumentar o tamanho das colunas de modo que a tabela aumentasse tb. E que as colunas que ficassem ocultas na tabela, aparecessem de acordo com a rolagem da barra de rolagem horizontal.
Estou usando o seguinte codigo pra isso.

JPanel painel = new JPanel();
jTable1.setPreferredScrollableViewportSize(new Dimension(200, 70));
//jTable1.setFillsViewportHeight(true);
TableColumn column = null;
for (int i = 0; i < 5; i++)
{
column = jTable1.getColumnModel().getColumn(i);
if (i == 0)
{
column.setPreferredWidth(200); //third column is bigger
}
}
jScrollPane1 = new JScrollPane(jTable1,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane1.setViewportView(jTable1);
painel.add(jScrollPane1);
this.setContentPane(painel);

Agradeço a ajuda