为什么 BoxLayout 不允许我更改 JButton 的宽度,而允许我更改高度?
我试图让我的布局适合我正在移植到Java的程序所具有的特定外观,我以前使用过几个布局管理器,取得了巨大的成功,但由于某种原因,我似乎根本无法做到这一点。我的目标是让右(东)侧包含一个“查找下一个”和“取消”按钮,然后按自上而下的顺序,然后在下面的任何额外空间,以便两个按钮始终位于的顶部,但由于某种原因,它不断忽略任何更改(这是我丢失的地方)宽度的尝试。代码如下。JDialog
JDialog
JDialog
BoxLayout
JButton
JButton findNext = new JButton("Find Next");
JButton cancel = new JButton("Cancel");
cancel.setPreferredSize(new Dimension((int)findNext.getPreferredSize().getWidth(),
(int)cancel.getPreferredSize().getHeight()));
JPanel example = new JPanel();
example.setLayout(new BoxLayout(example, BoxLayout.Y_AXIS));
example.add(findNext);
example.add(cancel);
example.add(Box.createGlue());
无论我尝试什么,始终保持其正常尺寸。我已经尝试过,并且参数与没有运气的参数相同。我甚至尝试过,按钮高度是唯一调整的东西,它仍然保留了它给出的默认宽度。cancel
setMinimumSize()
setMaximumSize()
setPreferredSize
cancel.setPreferredSize(new Dimension(500, 500));
为了解决任何问题,这是它的外观(现在我已经完成了它),你会看到“查找下一个”和“取消”按钮的大小不同。