Java:在JFrame/JPanel中定位JButtons

Gle*_*imo 1 java swing jbutton layout-manager border-layout

嗨我把一些按钮很好地排列在一起,但现在我想要它们在我的面板/框架的底部.

我怎样才能做到这一点?我考虑过设置,但这似乎不起作用.

提前致谢:

public class mainMenu extends JFrame {
private JButton start, highscore, help, stoppen;


public mainMenu() {
    super("Master Mind");
    maakComponenten();
    maakLayout();
    toonFrame();

}

private void maakComponenten() {

    start = new JButton("Start") {
        {
            setSize(150, 30);
            setMaximumSize(getSize());
        }
    };
    highscore = new JButton("Highscore") {
        {
            setSize(150, 30);
            setMaximumSize(getSize());
        }
    };
    help = new JButton("Help") {
        {
            setSize(150, 30);
            setMaximumSize(getSize());
        }
    };
    stoppen = new JButton("Stoppen") {
        {
            setSize(150, 30);
            setMaximumSize(getSize());
        }
    };

}

private void maakLayout() {

    JPanel hoofdmenu = new JPanel();
    hoofdmenu.setLayout(new BoxLayout(hoofdmenu, BoxLayout.X_AXIS));
    hoofdmenu.add(start);
    hoofdmenu.add(highscore);
    hoofdmenu.add(help);
    hoofdmenu.add(stoppen);
    super.add(hoofdmenu);


}

private void toonFrame() {
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    setVisible(true);
    setSize(500, 500);

}

public static void main(String[] args) {
    new mainMenu();
}
Run Code Online (Sandbox Code Playgroud)

}在此输入图像描述

spl*_*bob 5

一种常见的方法是使用BorderLayout的LayoutManager创建JPanel.您可以在BorderLayout.CENTER中放置面板的所有内容(可以是子面板的集合),并将包含您的按钮的面板放在BorderLayout.SOUTH中.

请参阅:如何使用布局 以及如何使用BorderLayout