我正在尝试让我的按钮填满面板的宽度,这是我的代码 制作一个按钮和一个面板,然后将按钮添加到面板。
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;
}
这是我得到的输出...
最佳答案
按钮如何适合它的容器取决于容器的布局。如果你想让它拉伸(stretch),你可以让按钮面板有一个 BorderLayout 并将按钮添加到北位置,或者使用任何其他布局类型,其组件试图占据尽可能多的空间(BorderLayout with north is仅举一例)。
对于尽可能横向拉伸(stretch)的多个按钮,请将容器放在北位置而不是单个按钮,其中该容器包含多个 JButton。该容器可能应该是一个带有 GridLayout 的 JPanel,1 列,行数与按钮一样多。
关于java - 使 JButton 拉伸(stretch)以适合 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22918890/