Ajuda com Layout

1 resposta
B

Galera,

Tenho um jPanelPrincipal setado com layout dessa forma:

Ou seja um grid com uma coluna. Inseri nele, mais 4 jPanels, um abaixo do outro. Porém eles ficam do mesmo tamanho e gostaria que os 2 primeiros fiacssem menores que os 2 de baixo.
Aí tentei setar o setPreferredSize, e setSize e todos os possíveis para ver se eles ficavam do tamanho desejado, mas não deu.
Alguém poderia me dar uma sugestão de como organizar esses panel da forma que eu desejo? :wink:

1 Resposta

G

Bom dia BrunoLeo,
Procure dar uma olhada no GridBagLayout, pois este é mais flexível quanto ao arranjo dos componentes dentro dele. Porém ele é um pouco mais chato de trabalhar :smiley: .

este é um exemplo que está na API:

import java.awt.*;
 import java.util.*;
 import java.applet.Applet;

 public class GridBagEx1 extends Applet {

     protected void makebutton(String name,
                               GridBagLayout gridbag,
                               GridBagConstraints c) {
         Button button = new Button(name);
         gridbag.setConstraints(button, c);
         add(button);
     }

     public void init() {
         GridBagLayout gridbag = new GridBagLayout();
         GridBagConstraints c = new GridBagConstraints();

         setFont(new Font("SansSerif", Font.PLAIN, 14));
         setLayout(gridbag);

         c.fill = GridBagConstraints.BOTH;
         c.weightx = 1.0;
         makebutton("Button1", gridbag, c);
         makebutton("Button2", gridbag, c);
         makebutton("Button3", gridbag, c);

         c.gridwidth = GridBagConstraints.REMAINDER; //end row
         makebutton("Button4", gridbag, c);

         c.weightx = 0.0;                //reset to the default
         makebutton("Button5", gridbag, c); //another row

         c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row
         makebutton("Button6", gridbag, c);

         c.gridwidth = GridBagConstraints.REMAINDER; //end row
         makebutton("Button7", gridbag, c);

         c.gridwidth = 1;                //reset to the default
         c.gridheight = 2;
         c.weighty = 1.0;
         makebutton("Button8", gridbag, c);

         c.weighty = 0.0;                //reset to the default
         c.gridwidth = GridBagConstraints.REMAINDER; //end row
         c.gridheight = 1;               //reset to the default
         makebutton("Button9", gridbag, c);
         makebutton("Button10", gridbag, c);

         setSize(300, 100);
     }

     public static void main(String args[]) {
         Frame f = new Frame("GridBag Layout Example");
         GridBagEx1 ex1 = new GridBagEx1();

         ex1.init();

         f.add("Center", ex1);
         f.pack();
         f.setSize(f.getPreferredSize());
         f.show();
     }
 }

Espero ter ajudado.
[]´s

Criado 19 de janeiro de 2008
Ultima resposta 19 de jan. de 2008
Respostas 1
Participantes 2