【发布时间】:2013-06-02 07:37:23
【问题描述】:
我有一个controlPanel (BoxLayout):
controlPanel.setLayout(new BoxLayout(controlPanel, BoxLayout.Y_AXIS));
现在我构建两个FlowLayout 并将它们添加到contolPanel 面板:
JPanel fromDatePanel = new JPanel(new FlowLayout());
JPanel untilDatePanel = new JPanel(new FlowLayout());
fromDatePanel.add(new JLabel("From - "));
fromDatePanel.add(new JButton("..."));
untilDatePanel.add(new JLabel("Until - "));
untilDatePanel.add(new JButton("..."));
controlPanel.add(fromDatePanel);
controlPanel.add(untilDatePanel);
我明白了:
为什么它会在布局之间产生间隙?例如,如果我插入一个JButton,它可以正常工作(它插入它们时没有间隙)。
如何消除两个FlowLayout 之间的差距? (所以它会像蓝色的差距)
【问题讨论】:
-
如果您想保留
BoxLayout并消除差距,请覆盖JPanel的getMaximumSize()并返回getPreferredSize。请参阅下面的答案。 -
@GuillaumePolet 谢谢,这有帮助!
标签: java swing layout flowlayoutpanel boxlayout