【发布时间】:2014-12-08 12:09:40
【问题描述】:
这是我有疑问的 java 应用程序 GUI 的一部分。
这个 GUI 包含的是一个蓝色的 JPanel(容器),默认 FlowLayout 作为 LayoutManager,其中包含一个包含两个 JPanel 的 Box(以删除水平间距,或者我可以使用 setHgaps 为零而不是 Box)每个都包含一个 JLabel。
这是我创建 GUI 的那部分的代码。
private void setupSouth() {
final JPanel southPanel = new JPanel();
southPanel.setBackground(Color.BLUE);
final JPanel innerPanel1 = new JPanel();
innerPanel1.setBackground(Color.ORANGE);
innerPanel1.setPreferredSize(new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT));
innerPanel1.add(new JLabel("Good"));
final JPanel innerPanel2 = new JPanel();
innerPanel2.setBackground(Color.RED);
innerPanel2.setPreferredSize(new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT));
innerPanel2.add(new JLabel("Luck!"));
final Box southBox = new Box(BoxLayout.LINE_AXIS);
southBox.add(innerPanel1);
southBox.add(innerPanel2);
myFrame.add(southPanel, BorderLayout.SOUTH);
}
我的问题是如何摆脱外部 JPanel(蓝色)和 Box 之间的垂直填充?
我知道这是填充,因为我在 Difference between margin and padding? 上读到“填充 = 元素周围(内部)从文本到边框的空间。”
这行不通,因为这必须归因于组件之间的间隙(空间)。- How to remove JPanel padding in MigLayout?
我试过了,但也没有用。 JPanel Padding in Java
【问题讨论】:
-
您的代码不完整。您永远不会将 southBox 添加到您的面板,也不会将您的 innerPanels 添加到您的南面板
标签: java swing jpanel padding layout-manager