我试图让我的按钮填充我的面板的宽度,这是我的代码 制作按钮和面板,然后只需将按钮添加到面板。
buttonPane = makeButtonPanel();
button = makeButton("Hello");
button2 = makeButton("World");
buttonPane.add(button);
buttonPane.add(button2);
private JButton makeButton(String msg){
JButton button = new JButton(msg);
button.setAlignmentX(Component.CENTER_ALIGNMENT);
return button;
}
private JPanel makeButtonPanel(){
JPanel btnPanel = new JPanel();
btnPanel.setLayout(new BoxLayout(btnPanel, BoxLayout.Y_AXIS));
btnPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
return btnPanel;
}
这是我得到的输出......
答案 0 :(得分:3)
按钮如何适合它的容器取决于容器的布局。如果你想让它伸展你可以让按钮面板有一个BorderLayout并将按钮添加到北方位置,或者使用任何其他布局类型,其组件试图占用尽可能多的空间(BorderLayout with north is只是一个例子。)
对于在宽度方向上尽可能多地拉伸的多个按钮,将容器放在北方位置而不是单个按钮,其中该容器包含多个JButton。该容器可能应该是一个带有GridLayout,1列的JPanel,和你有按钮一样多的行。