Java:在JFrame / JPanel中定位JButtons

时间:2013-03-13 20:33:33

标签: 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();
}

} enter image description here

1 个答案:

答案 0 :(得分:5)

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

请参阅:How to Use LayoutsHow To Use BorderLayout