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