Layout líquido com Swing [RESOLVIDO]

Olá galera!
Estou com dificuldades em encontrar um layout que faça com que o meu JFrame apareça do tamanho da tela sem se importar com a resolução do monitor que vou utilizar! :frowning:
Gostaria de saber qual dos layouts disponíveis para Swing é o adequado para funcionar da forma que eu estou querendo?
Obs: Comecei usando o Null Layout, mas com ele minha tela tem que ficar com um tamanho específico, pois os componentes não redimencionam.
Agradeço a ajuda!
T+

depende do que você pretende fazer, mas tenha certeza que layout null nao resolve!
você pode usar o borderlayout e flowlayout em casos convenientes

Se precisares de algo mais complexo, podes utilizar o GridBagLayout que permite um posicionamento mais flexível. Também tem o miglayout esse eu nunca usei, mas de acordo com alguns usuários aqui do guj é muito simples e fácil de usar.

[quote=Marlon Meneses]depende do que você pretende fazer, mas tenha certeza que layout null nao resolve!
você pode usar o borderlayout e flowlayout em casos convenientes[/quote]
Eu estou usando o NetBeans 6.7.1, naquele esquema de arrastar e soltar os componentes, no entanto percebi que estes layouts dificultam o posicionamento dos componetes. Vc tem algum material q me ajude a utilizar estes tipos de layouts. Algum tutorial ou informação…
Agradeço a ajuda!
T+

[quote=fredsilva.sistemas][quote=Marlon Meneses]depende do que você pretende fazer, mas tenha certeza que layout null nao resolve!
você pode usar o borderlayout e flowlayout em casos convenientes[/quote]
Eu estou usando o NetBeans 6.7.1, naquele esquema de arrastar e soltar os componentes, no entanto percebi que estes layouts dificultam o posicionamento dos componetes. Vc tem algum material q me ajude a utilizar estes tipos de layouts. Algum tutorial ou informação…
Agradeço a ajuda!
T+[/quote]

Isso é melhor coisa que voce pode fazer.

Estude os tipos de Layout Managers que voce nao vai mais querer usar o arrasta-solta.

Documentação Oficial:

http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html

Olá amigo

dê uma olhada em:

http://oswing.sourceforge.net/

Silvio Guedes

Caro colega,

Passei por quase as mesmas questões que vc…! Acho que a primeira coisa que vc pode fazer é definir muito bem os componentes que quer usar. Depois disso saber tb que por ex.: o BorderLayout traz mais flexibilidade quanto ao uso pq dispõe das posições como os pontos cardeais (north, south, center, west, east), e que ele pode ser mixado com flowlayout, boxlayout ou gridlayout.
E que existe uma ideia de “estar contido” no uso dos “gerenciadores de layout”, ou seja, todos os demais componentes ao final estarão contidos no JPanel painel…

sds

www.miglayout.com/quick-start.pdf

Coloquei o link de cabeça deve ser isso.

Uso o designer visual do NetBeans, normalmente combinando GroupLayout, BorderLayout e FlowLayout. Contanto que você “encaixe” corretamente os componentes uns nos outros, seus componentes irão se redimensionar sem problemas e se comportar adequadamente em qualquer plataforma. Meus projetos são executados aqui na empresa em Windows, Linux e Solaris sem problemas.

[quote=fredsilva.sistemas]Olá galera!
Estou com dificuldades em encontrar um layout que faça com que o meu JFrame apareça do tamanho da tela sem se importar com a resolução do monitor que vou utilizar! :frowning:
Gostaria de saber qual dos layouts disponíveis para Swing é o adequado para funcionar da forma que eu estou querendo?
Obs: Comecei usando o Null Layout, mas com ele minha tela tem que ficar com um tamanho específico, pois os componentes não redimencionam.
Agradeço a ajuda!
T+[/quote]

Usar o null layout é a mesma coisa que não usar layout , ou seja, é isso mesmo que vai acontecer. Vc vai ter um sistema fixo como no delphi, vb e .NET.
Em java ou vc usa layouts ou vc está fora. Mas nenhum layout vai fazer o JFrame esticar até o tamanho da tela. Afinal o layout fica dentro do JFrame, não fora. Para isso vc tem que setar explicitamente o tamanho do JFrame. Procure no GUJ tem post explicando como.

A resolução do monitor é importante mas isso quase nunca é relevante. A unica coisa onde isso importa é em formulários. Para formulários use o FomLayout do JGoodies que se preocupa com esse detalhe e permite vc espeficicar tamanhos em dlu (que é uma unidade independente da resolução).
Não sei se os layouts citados fazem isso, mas esse faz.

E não complique. não tente usar um layoutmanager mágico que acerta todos os componentes. Faça composição de vários layouts conforme o comportamento que vc espera. Se não houver um layout que faça o que vc quer, escreva um. É trivial.

[quote=Mark_Ameba]www.miglayout.com/quick-start.pdf

Coloquei o link de cabeça deve ser isso.[/quote]
Mark_Ameba, o link não funciona! Tem como vc passar novamente?
Obrigado a todos pela colaboração!

[quote=fredsilva.sistemas][quote=Mark_Ameba]www.miglayout.com/quick-start.pdf

Coloquei o link de cabeça deve ser isso.[/quote]
Mark_Ameba, o link não funciona! Tem como vc passar novamente?
Obrigado a todos pela colaboração!
[/quote]

http://www.miglayout.com/QuickStart.pdf

A propósito… codigozinho pra fazer o frame ficar do tamanho da tela:

Dimension tamanhoDaTela = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(tamanhoDaTela);

[]´s

[quote=asaudate]A propósito… codigozinho pra fazer o frame ficar do tamanho da tela:

Dimension tamanhoDaTela = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(tamanhoDaTela);

Muito legal!!!

Pessoal, achei um tutorial sobre GridBagLayout, ele me parece bem bacana, vou dá uma olhada nele e no MigLayout.
GridBagLayout: http://imasters.uol.com.br/artigo/2463/java/tudo_sobre_o_gridbaglayout/
Valeu!

sempre usei o Gridbag…

parece complexo mas é so questão de costume

uso e recomendo

Pessoal, o GridBagLayout, juntamente com o código que o asaudate passou faz realmente o que eu estava querendo!
Vou estudá-lo a fundo e passarei a não utilizar mais este recurso de arrastar e soltar do NetBeans, pois não está me ajudando muito!:frowning:
Agradeço a todos pela atenção!
T+