Edit: Egal, ich mache es jetzt mit GroupLayout, das scheint mir deutlich intuitiver nutzbar zu sein ...
ich möchte ein Fenster mit zwei Zeilen. In der ersten Zeile sollen nebeneinander zwei Buttons stehen, die sich jeweils über 50% des Platzes erstrecken.
In der zweiten Zeile sollen dann 25% leer sein, dann ein weiterer Button über 50% des Platzes folgen und die restlichen 25% sollen wieder leer sein.
Der Button in der zweiten Zeile soll also zentriert unter den ersten beiden Buttons stehen.
Das versuche ich nun mit folgendem Code zu lösen:
Code:
c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 2;
c.weightx = 1;
c.fill = GridBagConstraints.HORIZONTAL;
getContentPane().add(new JButton("1"), c);
c = new GridBagConstraints();
c.gridx = 2;
c.gridy = 0;
c.gridwidth = 2;
c.weightx = 1;
c.fill = GridBagConstraints.HORIZONTAL;
getContentPane().add(new JButton("2"), c);
c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 1;
c.gridwidth = 2;
c.weightx = 1;
c.fill = GridBagConstraints.HORIZONTAL;
getContentPane().add(new JButton("3"), c);
Das Ergebnis sieht aber so aus:

Button 3 fängt also zusammen mit Button 1 an, obwohl gridx von Button 1 auf 0 und das von Button 3 auf 1 gesetzt ist.
Wieso funktioniert das nicht und wie mache ich das richtig?






