Como criar JFrames adaptaveis a monitores de tam. diferentes?

8 respostas
jbjares

Irmãos, To com um aplicativo que precisa de alguns ajustes e um deles é esse. Ele precisa ser adaptavel a tamanho de monitores diferentes, uma vez que dependendo do tamanho do monitor os components se comportam de forma diferente, em alguns casos até mesmo ficando fora da area do monitor. Portanto não visiveis ao usuario. Então eu gostaria de saber se existe uma forma de configurar o meu JFrame principal para que ele possa ser flexivel a diferentes tamanhos de monitor…

Abraço e obrigado!

8 Respostas

A

Amigo, o tamanho do monitor nao é problema… o problema é a resolucao que está. Para fazer com que seus formularios sejam flexíveis de acordo com a resolução utilize os varios layouts de formulario, como o GridLayout, GridBagLayout, CardLayout, BorderLayout, etc…

Depois disso é só setar o tamanho do JFrame para o tamanho da resolução atual…

jbjares

Obrigado pela ajuda irmão… mas o problema é o Frame principal… to tendo que compor todo em tamanho rasuavelmente pequeno, e não em tela cheia como gostaria pois sei que em outras resoluções ele falha… então… To fazendo tudo como vc me disse… mas quero mesmo é que o Frame principal torne-se flexivel e não os internos, que estão ok!

abraço!

Petronio_Braga

jbjares,

primeiramente você deve pegar a resolução da tela.

Dimension dimensao = Toolkit.getDefaultToolkit().getScreenSize(); System.out.println("Largura" + dimensao.getWidth()); System.out.println("Altura" + dimensao.getHeight());

Com esse trecho de código você consegue obter a largura e a altura da tela.

A partir desses valores, você seta o tamanho do seu Frame.

syagrio

Amigo tente usar assim
this.setExtendedState(this.MAXIMIZED_BOTH);

Creio eu que seja o resultado que vc está esperando.

Falow

thiagopassosp

estou com o mesmo problema e ainda não consegui fazer o frame adaptavel ao monitor.
mas alguma sugestão galerA?

ronnypeterson

Tenta isso:

....
public JFrame frameEntPapel() 
	{
		if (telaPrincipal == null)
		{					
			telaPrincipal = new FramePadrao();
			Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();				
			telaPrincipal.setSize(screenSize.width, screenSize.height - 35);
			telaPrincipal.setLocation(0, 30);
                        ....
                }
}
...
thiagopassosp

Amigão , infelizmente esse seu codigo não me ajudou , a diferença q ele ocupa toda a tela(a barra do iniciar some e o programa pega toda tela)

thiagopassosp

obrigado pela força mesmo assim, mas alguem ai com exemplos por favor

Criado 9 de janeiro de 2007
Ultima resposta 12 de jun. de 2007
Respostas 8
Participantes 6