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á.
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.
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 …
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 …
[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 …
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:
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 ?
[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…
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…