Ich habe eine JFrame
, die JPanel
innen hat. Innerhalb JPanel
gibt es 2 Tasten. JPanel
hat eine BoxLayout
. Ich brauche Knöpfe, die horizontal in der Mitte des Fensters angezeigt werden. Hier ist mein Code:Java Swing BoxLayout Center funktioniert nicht
Ich nur zwei Tasten erstellen, stellen Sie ihre Ausrichtung auf die Mitte (versuchte alle Möglichkeiten, die ich kannte) und fügen Sie sie auf der Platte horizontal.
public class UserInterface extends JFrame {
public UserInterface() {
setup();
}
private void setup() {
...
panel=new UserInterfacePanel();
add(panel);
}
}
class UserInterfacePanel extends JPanel {
private JToggleButton startButton;
private JToggleButton stopButton;
public UserInterfacePanel() {
setup();
}
private void setup() {
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
setupButtons();
setupButtonsActions();
add(startButton);
add(stopButton);
}
private void setupButtons() {
...
startButton.setHorizontalAlignment(JButton.CENTER);
stopButton.setHorizontalAlignment(JButton.CENTER);
startButton.setAlignmentX(CENTER_ALIGNMENT);
stopButton.setAlignmentX(CENTER_ALIGNMENT);
}
}
Und doch funktioniert es nicht. Warum nicht und wie man es repariert?
Es änderte nichts - Tasten sind immer noch auf der linken Seite des Fensters. Sie sind vertikal zentriert, aber nicht horizontal (der zweite Fall Ihres Codes). – parsecer
@parsecer: Sie verwenden das falsche Layout, wenn Sie sie dann zentriert in der Anwendung möchten. Ich würde stattdessen ein GridBagLayout verwenden. –
@parsecer: siehe bearbeiten bitte –