Definir largura de Coluna de um JTable?

4 respostas
D

Olá pessoal, estou com um problema… estou pegando dados do banco de dados e jogando para um JTable só que quando eu mostro o resultado as colunas da tabela ficam todas da mesma largura eu queria definir a largura de cada coluna pois existe campos de larguras bem diferentes…
o meu código é o seguinte…

<blockquote>private void MostraDespesas(String dataini, String datafim){

Vector coluna = new Vector();

Vector linha  = new Vector();

try{

con = inic.conexao();

st = con.createStatement();

String sql = SELECT * FROM DESPESAS WHERE DATAENTDESPESA >= '”;

sql+= inic.data(dataini) + "’ AND ";

sql+= DATAENTDESPESA  <= '” + inic.data(datafim) + “’”;

sql+= " ORDER BY DATAENTDESPESA ASC ";

rs = st.executeQuery( sql );

boolean primeiro = rs.next();

if ( ! primeiro ){

JOptionPane.showMessageDialog(this,Não tem Despesas Cadastradas neste período);

con.close();

return;

}
try{
   ResultSetMetaData TituloColuna = rs.getMetaData();
   totaldespesas = 0.0;
   for( int i=2; i &lt;=6; ++i)
   	coluna.addElement(TituloColuna.getColumnName(i));
  do{
    linha.addElement(getNextLinha( rs, TituloColuna ));
  }while (rs.next());                                     

  table = new JTable( linha, coluna );
  JScrollPane scroller = new JScrollPane( table );
  table.getTableHeader().getColumnModel().getColumn(0).setHeaderValue("Dt.Vencimento");
  table.getTableHeader().getColumnModel().getColumn(1).setHeaderValue("Dt.Entrada");
  table.getTableHeader().getColumnModel().getColumn(2).setHeaderValue("Despesa");
  table.getTableHeader().getColumnModel().getColumn(3).setHeaderValue("Valor(R$)");
  table.getTableHeader().getColumnModel().getColumn(4).setHeaderValue("Dt.Pagamento");
  
  scroller.setBounds(20,40,700,150);
  this.getContentPane().add( scroller);
  validate();
  con.close();
  TValor.setText(decimal.format(totaldespesas));
}
catch(Exception ex){  
    JOptionPane.showMessageDialog(null,"Erro ao listar as Despesas");
    return;
}
}

catch(Exception ex){

JOptionPane.showMessageDialog(null,“Erro no Banco quando vai realiza a pesquisa);

return;

}

}

</blockquote>

Será que alguém pode me ajudar pra definir alargura de cada coluna…
muito obrigado…

4 Respostas

danieldestro

Primeiro vc pega a coluna:

table.getTableHeader().getColumnModel().getColumn(4)

O Objeto retornado tem um metodo, que acho que se chama setMaxWidth()… algo assim
Dá uma olhada.

D

qua o tipo deste objeto que é retornado.?

danieldestro

table.getTableHeader().getColumnModel().getColumn(4).setMax…

Isso deve ajudar… Não sei ao certo… deve ser do tipo Column.

Na dúvida, consulta a API do Java.

D

VALEU CARA MUITO OBRIGADO…

Criado 5 de julho de 2004
Ultima resposta 5 de jul. de 2004
Respostas 4
Participantes 2