Painéis

Olá , preciso de uma ajudinha estou tentando modelar em um frame vários painéis utilizando como gerenciador de layout, o GridBagLayout…
Mas pelo que eu estou vendo tratamento de painéis no GridBagLayout, é um tratamento especial…

Se alguém puder me orientar … A questão é a seguinte :::

  • Tenho um Frame quero aplicar nele vários painéis, mas quero definir seus tamanhos

1.º No Topo
2.º Nos Lados
3.º No Centro

No BorderLayout consigo fazer isso tranquila, mas não consigo definir os alturas dos painéis.
Se alguém puder me auxiliar , agradeço desde já.

Abraços,

Kat :shock:

nao entendi sua pergunta
eh em swing?

vc quer saber como que posiciona os paineis, define o tamanho, etc?

utilizando o swing…

Tenhu uma classe extends JFrame
Queru aplicar um pFundo, pLeft, pUp, redmensioná - lo com o Grid BagLayout …

Ajudo? Espero q sim …

Abraço

Kat

[quote=Katrina]utilizando o swing…

Tenhu uma classe extends JFrame
Queru aplicar um pFundo, pLeft, pUp, redmensioná - lo com o Grid BagLayout …

Ajudo? Espero q sim …

Abraço

Kat[/quote]

Vc pode tentar altera a propriedade setPreferredSize() dos seus paineis que ficam nas pontas ( TOP, BOTTOM, LEFT e RIGHT ). Assim , o layoutmanager vai redimensiona-los para ficarem do tamanho. Ele vai expandir sentido centro do form, dai, o painel que fica no centro terá o tamanha alterado de acordo com o espaço que seus paineis ocupam nas pontas. Dando pack() do frame depois, ele redimensiona todo mundo bonitinho. Testa ai.

Ps.: no preferredSize, o que vai funcionar é a distantcia do painei da ponta pro centro, exemplo:
LEFT: setPreferredSize(10,100) - somente o 100 ( width ) vai prevalecer. Ou seja, a largura do seu painel
BOTTOM: setPreferredSize(200,30) - somente o 200 (height) vai prevalecer. Ou seja, a altura do seu painel.

Acho que é isso. Se dizze algo errado me corrija.

Flw!

Bruno

Estou utilizando o eclipse pra programar em java, utilizando o setPreferredSize() , mas minha dúvida é , preciso fazer um public void dizendo essas propriedades, ou não? Ou estou meia q viajando …

:smiley:

Pois fiz uma classe extends JFrame , depois instanciei os objs e declarei o GridBagLayout e GridBagConstraints, assim fiz um public void (Component comp, int linha, int coluna, int largura, int altura)
Apliquei os paineis no Frame só q eles aparecem uns ao lado dos outros, mesmo definindo o tamanho …

Aguardo … Vlw

Kat

[quote=Katrina]Estou utilizando o eclipse pra programar em java, utilizando o setPreferredSize() , mas minha dúvida é , preciso fazer um public void dizendo essas propriedades, ou não? Ou estou meia q viajando …

:smiley:

Pois fiz uma classe extends JFrame , depois instanciei os objs e declarei o GridBagLayout e GridBagConstraints, assim fiz um public void (Component comp, int linha, int coluna, int largura, int altura)
Apliquei os paineis no Frame só q eles aparecem uns ao lado dos outros, mesmo definindo o tamanho …

Aguardo … Vlw

Kat[/quote]

Acho que vc tah viajando. A coisa é mais simples do que vc tá falando.
Uma vez que vc estendeu o JFrame e tem os paineis na mão ( instancias ) é so adiciona-los no contentpane do seu frame. Seria algo assim, supondo que seus paineis sejam A, B, C, D e E:

getContentPane().setLayout(new BorderLayout());
getContentPane().add(A, BorderLayout.LEFT);
getContentPane().add(B, BorderLayout.RIGHT);
getContentPane().add(C, BorderLayout.TOP);
getContentPane().add(D, BorderLayout.CENTER);
getContentPane().add(E, BorderLayout.BOTTOM);

Bruno

Mas a questão é que dessa forma eu sei fazer, só q utilizando esse método o tamanho do painel é determinado, eu quero poder trabalhar com todas as medidas do painel , me comprendeu?

Existe alguma madeira de utilizando o BorderLayout eu redmensionar o tamanho do painel ?

Kat

pra trabalhar com medidas para os componentes

Layout == null

Se você usar um gerenciador de layout ele ira calcular as medidas pra você,
pelo menos nas telinhas que eu fiz usando layout notei isso… :smiley:

valeu ? até…

[quote=Katrina]Mas a questão é que dessa forma eu sei fazer, só q utilizando esse método o tamanho do painel é determinado, eu quero poder trabalhar com todas as medidas do painel , me comprendeu?

Existe alguma madeira de utilizando o BorderLayout eu redmensionar o tamanho do painel ?

Kat[/quote]

É, nesse caso seria melhor ou vc usar o layout como null ou usar o GridBagLayout. Este ultimo vc vai conseguir deixar os componente no lugar que vc quer, mas de certa forma , ele vai arruma-los na tela pra vc qdo vc redimensionar o seu form. No caso do layout nulo, se vc redimensionar a sua tela, vai ficar tudo “travado” no lugar. No caso de trocar de SO, mts vezes ocorre de , qdo nulo, ficar meio bagunçado. Por isso existem os layouts managers por ai…

Mas dá uma pesquisada, as vezes tem algum layout que é melhor pra vc… :smiley:

Flw!

Vlw muito pela ajuda pessoal clareou bte minhas idéias, estou u tilizando o gridbaglayout, consegui ajeitar os painéis… Agora o q tá me queimando a cuca é aprender certinhu sobre a posião exata das linhas e colunas…

Vlw msm Pessoal !!!

BB

Kat :stuck_out_tongue: