问题描述
我见过一些人在没有 BoxLayout 的情况下使用 setAlignmentX()
和 setAlignmentY()
方法(例如,在使用 BorderLayout 和其他类型的布局时)。
这是正确的还是有什么作用?我还没有找到任何解释在 JComponents 中使用alignmentX 和alignmentY 的文档,但我一直认为它只会影响BoxLayouts。
解决方法
正如@camickr 在评论中所述,alignmentX
和 alignmentY
是 JComponent
的属性,布局管理器可以选择是否支持/尊重它们。
在原生布局管理器中,只有 BoxLayout
支持此属性,因此如果您尝试在其他布局(例如 FlowLayout、BorderLayout...)上使用它们,则不会执行任何操作。
当然,您可以create your custom layout manager并选择是否尊重这些属性。