web-dev-qa-db-fra.com

Comment puis-je faire mes colonnes différentes tailles en utilisant GridLayout en swing?

J'utilise un GridLayout et mon code est le suivant:

int changingVar = 1;

JPanel panel = new JPanel(new GridLayout(changingVar, 2));
panel.add(new JButton("BUTTON1"));
panel.add(new JButton("BUTTON2"));

Cela ressemble à ceci:

___________________________________________
| [      BUTTON1     ] [     BUTTON2     ] |
___________________________________________

qui est deux colonnes de taille égale. Je voudrais le faire comme ceci:

___________________________________________
| [          BUTTON1         ] [ BUTTON2 ] |
___________________________________________

dans lequel une colonne occupe plus d'espace sur le panneau que l'autre. Comment puis-je faire cela avec gridlayout? Je ne suis pas opposé à l'utilisation d'une autre mise en page tant que je peux avoir un nombre variable de lignes et de colonnes de deux tailles différentes.

Merci

31
Grammin

Si vous voulez cet effet, vous devez utiliser le GridBagLayout.

http://download.Oracle.com/javase/tutorial/uiswing/layout/gridbag.html

Amusez-vous avec celui-là = P

ÉDITER:

Vous pouvez contourner le problème en utilisant un mélange de FlowLayout et GridLayout pour obtenir un effet similaire. Cependant, cette solution deviendra extrêmement fastidieuse et désordonnée à mesure que vos complexités de mise en page deviennent plus importantes.

21
Feisty Mango