Aplicação com GridBagLayout difente em monitores diferentes

10 respostas
lucas_guj

Galera estou fazendo minha aplicação aqui com o GridBagLayout no NetBeans em um monitor grande. Ficou legal. Ai quando fui voltar para o notebook ficou escroto, tudo diferente e deformado. Por que? Não era para ficar do mesmo jeito devido ao layout? Eu sei que alguns aqui vão me recomendar o MigLayout mas não precisa. Estou tentando aprender e usar e enteder o GridBagLayout.

10 Respostas

d34d_d3v1l

isto é normal devido a resolução.

maas a diferença é ‘monstruosa’ ?

tem como mostrar no print pra gente?

lucas_guj

d34d_d3v1l:
isto é normal devido a resolução.

maas a diferença é ‘monstruosa’ ?

tem como mostrar no print pra gente?

Antes tava monstruosa. Depois que eu alterei o “minimum size” dos componentes não ficou tanto. Tenho um notebook conectado em um monitor externo de 21.5 polegadas. Meu notebook tem 15.4. Quando saio do monitor externo e volto para o notebook a aplicaçao fica grande demais para a tela do notebook( resolução ), como altero isso?

mauriciot.silva

cara vc pode usar

ele vai capturar o tamanho do monitor…
isso pode padronizar o tamanho do seu frame
para qualquer monitor

lucas_guj

mauriciot.silva:
cara vc pode usar

ele vai capturar o tamanho do monitor…
isso pode padronizar o tamanho do seu frame
para qualquer monitor

Ai eu uso isso dentro do setSize do meu JFrame? A politica de tamanho do meu JFrame é Gerar Pack.

lucas_guj

Usei isso em setSize e o tamanho do JFrame acompanha a tela. Porém os componentes dentro do JFrame ainda ficam grande demais.

d34d_d3v1l

Faz uma fórmula.

Quanto em Y deve ficar o tamanho de cada componente, tendo em vista que o monitor tem X

Y = 5/X;

Lógico que não… mass, entendeu?

Ainda sim acredito q deve ter outra maneira de solucionar isto…
Eu criava gui no netbeans e deixar o componente 'crescer’
conforme o tamanho da gui… Entao ficava tudo bem…
Além de aplicar as âncoras.

abraços

lucas_guj

d34d_d3v1l:
Faz uma fórmula.

Quanto em Y deve ficar o tamanho de cada componente, tendo em vista que o monitor tem X

Y = 5/X;

Lógico que não… mass, entendeu?

Ainda sim acredito q deve ter outra maneira de solucionar isto…
Eu criava gui no netbeans e deixar o componente 'crescer’
conforme o tamanho da gui… Entao ficava tudo bem…
Além de aplicar as âncoras.

abraços

Se eu colocar 1.0 de peso nos componentes e para preencher para ambos os lados ele não fica maior que deve ficar se auto redimensiona de acordo com o JFrame. Não entendo porque se eu colocar isso:

setSize( Toolkit.getDefaultToolkit().getScreenSize() );

Ele nunca fica totalmente exato de acordo com o monitor. Tipo a lateral e a parte de cima ficam certinhas. Mas a parte de baixo vai um pouquinho mais além, não enquadrando assim a aplicação certinha no monitor.

mauriciot.silva

Seguinte
vc pode abrir sua janela ja maximizada

ou entao usar o size para ajustar

Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); frame.setSize(dimension.width, dimension.height-30);
algo parecido com isso

lucas_guj

Agora com este código a tela ficou certinha sem sumir um lado na resolução padrão do monitor.

setSize( GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getSize() );

Agora tem como eu fazer para a tela não ficar maximizada?

setExtendedState( NORMAL );

Isso ai não funciona.

lucas_guj

mauriciot.silva:

Seguinte
vc pode abrir sua janela ja maximizada

ou entao usar o size para ajustar

Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); frame.setSize(dimension.width, dimension.height-30);
algo parecido com isso

Obrigado pela ajuda mas já consegui deixar o JFrame de acordo com a resolução, agora falta eu alterar os componentes dentro dele e ver não deixar a tela maximizada.

Criado 16 de julho de 2012
Ultima resposta 17 de jul. de 2012
Respostas 10
Participantes 3