我试图谷歌如何设置JButton的默认大小,以便它们在JFrame调整大小时不会增长。我没有看到setDefaultSize方法,但我找到了最接近的一个方法是setMaximumSize()。然而,在我的情况下似乎并不起作用,我猜想这是因为我在框架中使用Grid Layout来定位我的按钮,这是我的一小段代码:
rightPanel.add(ButtonA);
rightPanel.add(ButtonB);
rightPanel.add(ButtonC);
outerPanel.add(leftPanel);
outerPanel.add(rightPanel);
getContentPane().add(outerPanel);
这是发生的情况的图片: 当我调整大小时,我希望我的按钮在右侧面板的中间(就像现在一样,但更小)。 有什么办法可以解决这个问题吗? 我认为我必须使用另一种布局或类似的东西。
谢谢!
编辑:我修改了我的代码以使用BoxLayout,但似乎没有将按钮放在中间。 X对齐正在工作,但Y对齐没有任何作用:
ButtonA.setAlignmentX(CENTER_ALIGNMENT);
ButtonA.setAlignmentY(CENTER_ALIGNMENT);
ButtonB.setAlignmentX(CENTER_ALIGNMENT);
ButtonB.setAlignmentY(CENTER_ALIGNMENT);
ButtonC.setAlignmentX(CENTER_ALIGNMENT);
ButtonC.setAlignmentY(CENTER_ALIGNMENT);
JPanel rightPanel = new JPanel();
rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.Y_AXIS));
rightPanel.add(ButtonA);
rightPanel.add(ButtonB);
rightPanel.add(ButtonC);
outerPanel.add(leftPanel);
outerPanel.add(rightPanel);
getContentPane().add(outerPanel);
编辑2:用垂直粘合修复。
GridLayout
不是正确的选择。你尝试过其他布局管理器吗?有几个选项可以使用。我建议多做一些实验。 - Dawood ibn Kareem