Java 使用FlowLayout或BorderLayout居中组件(并在调整大小后保持居中)

Java 使用FlowLayout或BorderLayout居中组件(并在调整大小后保持居中),java,swing,layout-manager,flowlayout,center-align,Java,Swing,Layout Manager,Flowlayout,Center Align,我有一个BoxLayout面板,从上到下有一些组件,我希望它在内容窗格中居中(垂直和水平),这样当我最大化窗口时,这个内部面板仍将保持在其中心 我已经用BoxLayout和/或GridBagLayout做到了这一点,但由于我正在试验Swing,我想知道是否可以使用FlowLayout或BorderLayout作为内容窗格的布局管理器来实现这一点。我找不到一个方法去做。。。当我最大化框架时,内部面板保持水平居中,但不是垂直居中(它卡在顶部) 这可以用这两个布局管理器来完成吗?还是我在浪费时间?Fl

我有一个BoxLayout面板,从上到下有一些组件,我希望它在内容窗格中居中(垂直和水平),这样当我最大化窗口时,这个内部面板仍将保持在其中心

我已经用BoxLayout和/或GridBagLayout做到了这一点,但由于我正在试验Swing,我想知道是否可以使用FlowLayout或BorderLayout作为内容窗格的布局管理器来实现这一点。我找不到一个方法去做。。。当我最大化框架时,内部面板保持水平居中,但不是垂直居中(它卡在顶部)


这可以用这两个布局管理器来完成吗?还是我在浪费时间?

FlowLayout在组件顶部的组件位置启动它。您可以更改水平锚点。BorderLayout有5个位置可用于布局组件,一个将占据最大可用空间的中心位置,以及围绕外部边缘的4个位置


通过将组件放置在中心位置,可以有效地围绕大陆的垂直和水平位置居中,但组件将调整大小以填充剩余空间。

FlowLayout将其组件位置从组件顶部开始。您可以更改水平锚点。BorderLayout有5个位置可用于布局组件,一个将占据最大可用空间的中心位置,以及围绕外部边缘的4个位置


通过将组件放置在中心位置,您可以有效地围绕大陆的垂直和水平位置居中,但组件将调整大小以填充剩余空间

什么是“水平锚”?流布局允许您传递SwingConstants.LEFT的对齐值,SwingConstants.RIGHT或SwingConstants.center当您谈论对齐时,请将其称为。。。好。。。对齐:-)发明术语在技术交流中不太好,IMOAllignment锚定组件,对不起,这正是我的想法,来自多年来使用gridbaglayout,它使用锚来对齐其组件,这是一个“水平锚”?Flow layout允许您传递SwingConstants的对齐值。左,SwingConstants.RIGHT或SwingConstants.center当您谈论对齐时,请将其称为。。。好。。。对齐:-)发明术语在技术交流中不太好,因为对齐锚定了组件,对不起,这正是我的想法,来自多年来使用gridbaglayout,每个布局管理器都有不同的行为,您需要了解这些行为,然后选择最适合您环境的行为。所有核心经理的api文档都是。。。很少,swing标记中链接到的教程有更多的细节。@kleopatra:很清楚,谢谢后者:-)每个布局经理都有不同的行为,您需要学习,然后选择最适合您环境的行为。所有核心经理的api文档都是。。。很少,swing标签中链接到的教程有更多细节。@kleopatra:很清楚,谢谢