使用Box Layout.X_AXIS将J按钮居中



我有一个JPanel,它可以有1个或2个按钮,这取决于当时程序中发生的事情。我使用Box Layout.X_AXIS来排列2个按钮的配置,它工作得很好。然而,当我切换到1个按钮时,单个按钮在窗口的最左边。我尝试了很多不同的方法来使按钮居中,但唯一有效的方法是:

JButton yesBtn = new JButton("Continue");
btnPane.setLayout(new BoxLayout(btnPane, BoxLayout.Y_AXIS));
yesBtn.setAlignmentX(Component.CENTER_ALIGNMENT);

这样做的问题是按钮的垂直位置会发生变化,因此与两个按钮的垂直放置位置不匹配。有没有办法使用X_AXIS布局将按钮居中?

我尝试了很多不同的方法来使按钮居中,

最简单的方法是在第一个组件之前添加"glue",在最后一个组件之后添加。然后它将适用于一个组件或多个组件。

有关更多信息和示例,请阅读Swing教程中关于作为填充器的不可见零部件的部分。

最新更新