如何在boxLayout中添加两个按钮之间的空间?



我在BoxLayout组中有四个按钮。这只是两个样本,因为都是重复代码。我想在每个按钮之间留出一点空间,这样它们就不会互相碰撞。我几乎尝试了.add(Box.Create....)中的每一种方法,没有任何效果。

    enter.add(Box.createVerticalGlue());
    enter.add(Box.createHorizontalGlue()); 
    //enter.add(new JSeparator(SwingConstants.HORIZONTAL));
    JButton float = new JButton("LOWER");
    float.add(Box.createVerticalGlue());
    float.add(Box.createHorizontalGlue());

如果您希望组件之间有空间,您可以为一个或两个组件添加空边框,或者插入不可见的组件来提供空间。你可以在Box类的帮助下创建不可见的组件。

既然你已经使用胶水没有成功(我怀疑为什么?),你可以尝试像刚性区域

// Horizontal spacer
container.add(firstComponent);
container.add(Box.createRigidArea(new Dimension(5, 0)));
container.add(secondComponent);

看一下使用不可见组件作为填充器,它给了你很多选项和解释。


附加信息,来自组件之间的空格,

三个因素影响容器中可见组件之间的空间大小:

  • 布局管理器

    一些布局管理器会自动在组件之间放置空格;其他人则不然。有些允许您指定组件之间的空间量。有关空格支持的信息,请参阅每个布局管理器的操作页面。

  • 无形的组件

    您可以创建不执行绘图的轻量级组件,但它会占用GUI中的空间。通常,您在由BoxLayout控制的容器中使用不可见组件。有关使用不可见组件的示例,请参见如何使用BoxLayout。

  • 空边界

    无论布局管理器是什么,您都可以通过向组件添加空边框来影响组件之间的明显空间量。空边框的最佳候选是通常没有默认边框的组件,例如面板和标签。在某些观感实现中,其他一些组件可能无法很好地处理边框,因为它们的绘制代码的实现方式不同。有关边框的信息,请参见如何使用边框。

相关内容

  • 没有找到相关文章

最新更新