我试图让我的布局JDialog
适合我移植到 Java 的程序所具有的特定外观,我之前使用过几个 LayoutManagers 并取得了巨大成功,但由于某种原因我似乎无法得到这个工作。我的目标是让右侧(东)侧以JDialog
自上而下的顺序包含“查找下一个”和“取消”按钮,然后是下方的任何额外空间,以便这两个按钮始终位于顶部JDialog
,然而出于某种原因BoxLayout
,它一直忽略任何改变(这是我迷路的地方)宽度的尝试 a 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));
,按钮高度是唯一调整的,它仍然保留了给定的默认宽度。
为了澄清任何问题,下面是它的样子(现在我已经完成了),您会看到“查找下一个”和“取消”按钮的大小不同。