2016-04-03 10 views
0

Ich habe eine JPanel, die entweder 1 oder 2 Tasten haben kann, abhängig davon, was gerade im Programm läuft. Ich verwende Box Layout.X_AXIS, um die 2-Tasten-Konfiguration auszurichten, und es funktioniert großartig. Wenn ich jedoch auf die 1-Taste umschalte, befindet sich die einzelne Taste ganz links im Fenster. Ich habe ein paar verschiedene Dinge versucht, die Taste zentriert zu bekommen, aber das einzige, was diese Arbeit ist, scheint:Zentrieren eines JButton mit Box Layout.X_AXIS

JButton yesBtn = new JButton("Continue"); 
btnPane.setLayout(new BoxLayout(btnPane, BoxLayout.Y_AXIS)); 
yesBtn.setAlignmentX(Component.CENTER_ALIGNMENT); 

Das Problem dabei ist, dass die vertikale Position der Taste ändert es auf diese Weise tun , so stimmt es nicht überein, wo die 2 Tasten vertikal sitzen würden. Gibt es eine Möglichkeit, die Schaltfläche mithilfe des X_AXIS-Layouts zu zentrieren?

Antwort

3

ich ein paar verschiedene Dinge ausprobiert habe, ist

Der einfachste Weg, die Taste zentriert, erhalten "glue" VOR der ersten Komponente hinzuzufügen und nach der letzten Komponente. Dann wird es für 1-Komponenten oder mehrere Komponenten funktionieren.

Lesen Sie den Abschnitt aus dem Swing-Tutorial auf Invisible Components as Filler für weitere Informationen und Beispiele.

+0

Das hat perfekt funktioniert. Vielen Dank! – user3226170