[SWING] Problème avec GridBagLayout

Problème avec GridBagLayout [SWING] - Java - Programmation

Marsh Posté le 23-11-2002 à 11:32:45    

Bonjour,
 
J'essaie de crééer des boutons comme ça:
 


.-------.
| 1 |   |
.---.   |
| 3 | 2 |
.---.   |
| 4 |   |
.-------.
|   5   |
.-------.


 
Mais je n'arrive qu'à ça:


.-----------.
| 1 |   2   |
.---.---.---.
| 3 | 4 | 5 |
.---.---.---.


 
Mon idée c'est de faire comme en HTML:
Le bouton 2 s'étale sur 3 lignes, donc les boutons suivants (3 et 4) sont placés en dessous du bouton 1.
Où est le problème?
 
 
 
Voilà mon code:

Code :
  1. public class MyFrame
  2.     extends JFrame
  3. {
  4.     public MyFrame(String title)
  5.     {
  6. super(title);
  7. Container pane = getContentPane();
  8. pane.setLayout(new GridBagLayout());
  9. GridBagConstraints c = new GridBagConstraints();
  10. c.fill = GridBagConstraints.BOTH;
  11. pane.add(new JButton("1" ), c);
  12. c.gridheight = 3;
  13.  c.gridwidth  = GridBagConstraints.REMAINDER;
  14. pane.add(new JButton("2" ), c);
  15. c.gridheight = 1;
  16. c.gridwidth  = 1;
  17. pane.add(new JButton("3" ), c);
  18. pane.add(new JButton("4" ), c);
  19.  c.gridwidth  = GridBagConstraints.REMAINDER;
  20. pane.add(new JButton("5" ), c);
  21.     }
  22.     public static void main(String[] args)
  23.     {
  24. JFrame frame = new MyFrame("test" );
  25. frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
  26. frame.pack();
  27.    frame.setVisible(true);
  28.     }
  29. }


Message édité par Krueger le 23-11-2002 à 11:39:49

---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 23-11-2002 à 11:32:45   

Reply

Marsh Posté le 23-11-2002 à 14:33:07    

Ca fait longtemps que j'ai pas touché à ca, mais je crois que tu devrais utiliser GridBagConstraints.gridx et GridBagConstraints.gridy, pour specifier dans quelle "case" tu veux placer ton bouton.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 26-11-2002 à 00:47:15    

Juste pour dire que j'ai effectivement opté pour ta proposition, même si on ne déconseillais d'utiliser ces champs. Je fais avec pour l'instant. J'ai délayé le problème pour plus tard. :/


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 30-11-2002 à 16:25:50    

Je vois pas pourquoi ce serait déconseillé. C'est fait pour être utilisé comme ça.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed