Bom dia,
Como posso saber, o tamanho real disponivel, dentro das bordas de um JFrame. Ex:
No caso da imagem acima, representado pelo, espaço cinza dentro das bordas, mencionadas acima?
Nota: Usei setSize(400, 300).
[]s
Bom dia,
Como posso saber, o tamanho real disponivel, dentro das bordas de um JFrame. Ex:
No caso da imagem acima, representado pelo, espaço cinza dentro das bordas, mencionadas acima?
Nota: Usei setSize(400, 300).
[]s
frame.getContentPane().getSize();
Retorna o tamanho real do content pane. Mas para isso o frame tem de estar visível, caso contrário retorna 0 para altura e largura.
Caso queira saber o espaço exigido pelos componentes adicionados:
frame.getContentPane().getPreferredSize();
Retorna o tamanho necessário para exibir completamente todos os componentes adicionados ao content pane.
PS.: Ambos métodos retornam uma instância de java.awt.Dimension.
Boa noite,
Brigadão pelas dicas.
[]s
Se quiser antes do JFrame estar visível:
int w = seuFrame.getSize() - (seuFrame.getInsets().left + seuFrame.getInsets().right);
int h = seuFrame.getSize() - (seuFrame.getInsets().top + seuFrame.getInsets().bottom);
Os insets retornam justamente a medida da decoração do JFrame na parte superior, inferior, direita e esquerda.
Puxa Vini, legal esta dica do insets.
Eu aprendi a usar o getInsets para saber o tamanho da borda dos componentes, mas nunca tinha associado que a borda do JFrame seria a decoração. Mas pensando bem é meio óbvio.
Valeu…