如何在boxLayout中的两个button之间添加空格?

BoxLayout组中有四个button。 这只是两个样本,因为它是全部重复的代码。 我想在每个button之间创build一个小空间,这样它们就不会碰到对方。 我尝试了.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类的帮助下创build不可见的组件。

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

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

看看使用不可见的组件作为填充 ,给你很多的select和解释。


其他信息,从组件之间放置空间 ,

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

  • 布局经理

    一些布局pipe理器自动在组件之间放置空间 别人不会。 有些让你指定组件之间的空间量。 有关间距支持的信息,请参阅每个布局pipe理器的how-to页面。

  • 隐形组件

    您可以创build不执行绘画的轻量级组件,但这可能占用GUI中的空间。 通常,您使用BoxLayout控制的容器中的不可见组件。 有关使用不可见组件的示例,请参阅如何使用BoxLayout 。

  • 空的边界

    无论布局pipe理器如何,都可以通过向组件添加空边框来影响组件之间的明显空间量。 空白边框的最佳候选对象通常是没有默认边框的组件,例如面板和标签。 由于其绘画代码的实现方式,某些其他组件可能无法在一些外观实现中与边框一起使用。 有关边框的信息,请参阅如何使用边框 。