Ola,
Para formatar uma coluna de uma JTable alinhada a direita ou centralizada, a unica forma é definir um TableModel personalizado e calcular o tamanho do conteudo dentro do tamanho da coluna, para posiciona-lo em determinado local?
Nao existe nada do tipo “setColumnAlign(CENTER)” ou “setColumnAlign(RIGHT)”?
Você pode fazer da seguinte forma:
Suponha que você tenha uma JTable com as colunas:
Descricao, Data Vcto e Valor(R$).
DefaultTableCellRenderer esquerda = new DefaultTableCellRenderer();
DefaultTableCellRenderer centralizado = new DefaultTableCellRenderer();
DefaultTableCellRenderer direita = new DefaultTableCellRenderer();
esquerda.setHorizontalAlignment(SwingConstants.LEFT);
centralizado.setHorizontalAlignment(SwingConstants.CENTER);
direita.setHorizontalAlignment(SwingConstants.RIGHT);
tabela.getColumnModel().getColumn(0).setCellRenderer(esquerda);
tabela.getColumnModel().getColumn(1).setCellRenderer(centralizado);
tabela.getColumnModel().getColumn(2).setCellRenderer(direita);
t+
6 curtidas
mori
Julho 2, 2006, 6:16pm
#3
E como fazer pra definir, por exemplo:
Coluna de Cod ter 30 Pixels de largura
Descricao ter 100
e valor 50
// mudar tamanho da coluna
tabela.getColumn().setPreferredWidth( tamanhoAki ) ;
Preste atenção ao modo de auto-redimensionamento q vc está usando nas suas colunas, pois em alguns o tamanho não será aplicado.
[code]
// seta o modo de auto-redimensionamento como desligado
tabela.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
// refaz o layout
doLayout();[/code]
Falow!
Cara, isso me ajudou bastante… valeu!!!
Abraços,
Almir.
oitathi
Dezembro 13, 2010, 2:30pm
#6
Mas e se no caso eu quiser q a linha 0 da coluna 1 seja centralizada no cetro, e as demais linhas sejam centralizadas a esquerda… comoposso fazer???