Une partie de la solution
Voici ce à quoi je suis arrivé, ça marche... :
http://www.hostingpics.net/viewer.ph...ollecMieux.jpg
.... mais le code est moche :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 2;
gbc.gridy = 0;
gbc.gridwidth = 4;
gbc.gridheight = 1;
gbc.anchor = GridBagConstraints.BASELINE;
gbc.weightx = 1.;
gbc.insets = new Insets(0, 0, 20, 0);
LigneBtn.add(AjouterBtn, gbc);
gbc.gridx = 5;
gbc.gridheight = gbc.gridwidth = 1;
gbc.anchor = GridBagConstraints.BASELINE_TRAILING;
gbc.insets = new Insets(0, 0, 20, 20);
LigneBtn.add (ZeroBtn, gbc); |
Car comme on le voit j'ai utilisé un bug, ou une grosse feinte toute pourrie, qui consiste à découper la ligne non pas en 2 parties mais en 5 dont le bouton "Ajouter" prend les 4 premières (en tout cas c'est comme ça que je le vois, mais ça ne marche plus si je mets gridx à 0 ou 1).
Quand je mettais gridx=0 de "Ajouter" et gridx=1 ça pseudo-fonctionnait, c'est à dire que "Remettre à Zéro" était bien à droite, mais "Ajouter" se trouvait au milieu de l'espace coupé en 2, donc pas au centre de la fenêtre :
http://www.hostingpics.net/viewer.ph...llecMilieu.jpg
........................
Bon bah en parlant tout seul j'ai trouvé la solution, le bouton est bien au milieu de la fenêtre et cette fois je crois que le code est propre :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = gbc.gridy = 0;
gbc.gridwidth = gbc.gridheight = 1;
gbc.anchor = GridBagConstraints.BASELINE_TRAILING;
gbc.weightx = 1.;
LigneBtn.add(AjouterBtn, gbc);
gbc.gridx = 1;
gbc.insets = new Insets(0, 0, 20, 20);
LigneBtn.add (ZeroBtn, gbc); |
Tout simplement ^^
Cependant si vous avez des suggestions, une autre manière de faire, ou des trucs que j'ai peut être pas pité, n'hésitez pas à commenter, tout renseignement est bon à prendre car je ne me sens quand même pas super à l'aise avec le GridBagLayout et je pense pas arriver à faire toute une interface avec encore.