Amigos,
Tenho uma tela com o seguinte layout:
No topo, tenho 4 botões.
Na lateral esquerda tenho um JPanel com o dia e uma imagem.
Na lateral direita tenho um JTable.
:shock:
O que desejo saber é se eu tenho como configurar a o tamanho das colunas de um JTable, a largura ocupada pelo JPanel lateral e a fonte do Label inserido neste JPanel. :?: :?: :?:
Segue o código:
...
ImageIcon pic2 = new ImageIcon( "TRAB.JPG" ); // Imagem
pBotoes = new PainelDeBotoesAtiv ( ); //Painel de Botoes
c.add( "North",pBotoes);
painel = new JPanel(); //Painel com o label e a imagem
painel.setLayout( new GridLayout( 2, 1 ) );
ldata = new JLabel("DIA 05
",SwingConstants.CENTER);
painel.add(ldata);
painel.add( new JLabel( null, pic2, SwingConstants.CENTER) );
c.add("West",painel);
table = new JTable( 24, 2 ); // Tabela
JScrollPane scrollTabela = new JScrollPane( table );
c.add("Center",scrollTabela);
...
Obrigado desde já !
Bem, a fonte do Label vc pode usar o setFont, não sei se lhe ajuda…
ldata = new JLabel("DIA 05",SwingConstants.CENTER);
ldata.setFont(new Font("Serif", Font.PLAIN, 15));
Para ver mais sobre fontes de uma olhada na api clicando aqui
Bem, quanto ao JTable, uma maneira de fazer é a seguinte:
for(int i = 0; i < table.getColumnCount(); i++) {
TableColumn tc = table.getColumnModel().getColumn(i);
tc.setPreferredWidth(20 * (i*2 + 1)); // aqui você define a largura desejada
}
Bom, agora quanto ao JPanel acredito que usando setPreferredSize seu problema seja resolvido.
Espero ter lhe ajudado a encontrar o caminho da luz, hehehe
Rodrigo,
Só tenho duas perguntas a fazer:
1- Quais são os parâmetros do método setPreferredSize ? Coloquei (largura,altura) e deu erro …
2- Quando coloco aquele loop usando TableColumn eu recebo o seguinte erro:
"TableColumn cannot be resolved or is not a type"
Esqueci de importar algum pacote !?
Desculpe a “ignorância javanesa” mas quero aprender, e só aprende errando … rs
Obrigada…
Flavia. Esses seus dois erros voce resolve rapidinho olhando na API. Quem vem de outra linguagem demora para pegar o costume
O método sugerido é o setPreferredWidth(), não o setPreferredSize(). O setPreferredWidth(int) aceita apenas um argumento int que é a nova largura da coluna.
[]'s