使用 Box Layout.X_AXIS 使 JButton 居中
Centering a JButton using Box Layout.X_AXIS
我有一个 JPanel,它可以有 1 个或 2 个按钮,具体取决于当时程序中发生的事情。我正在使用 Box Layout.X_AXIS 排列 2 个按钮配置,效果很好。但是,当我切换到 1 个按钮时,单个按钮位于 window 的最左侧。我尝试了很多不同的方法来使按钮居中,但唯一有效的方法是:
JButton yesBtn = new JButton("Continue");
btnPane.setLayout(new BoxLayout(btnPane, BoxLayout.Y_AXIS));
yesBtn.setAlignmentX(Component.CENTER_ALIGNMENT);
这样做的问题是,这样做会改变按钮的垂直位置,因此它与 2 个按钮的垂直位置不匹配。有没有办法使用 X_AXIS 布局使按钮居中?
I've tried a bunch of different things to get the button centered,
最简单的方法是在第一个组件之前和最后一个组件之后添加 "glue"
。然后它将适用于 1 个组件或多个组件。
阅读有关 Invisible Components as Filler 的 Swing 教程部分,了解更多信息和示例。
我有一个 JPanel,它可以有 1 个或 2 个按钮,具体取决于当时程序中发生的事情。我正在使用 Box Layout.X_AXIS 排列 2 个按钮配置,效果很好。但是,当我切换到 1 个按钮时,单个按钮位于 window 的最左侧。我尝试了很多不同的方法来使按钮居中,但唯一有效的方法是:
JButton yesBtn = new JButton("Continue");
btnPane.setLayout(new BoxLayout(btnPane, BoxLayout.Y_AXIS));
yesBtn.setAlignmentX(Component.CENTER_ALIGNMENT);
这样做的问题是,这样做会改变按钮的垂直位置,因此它与 2 个按钮的垂直位置不匹配。有没有办法使用 X_AXIS 布局使按钮居中?
I've tried a bunch of different things to get the button centered,
最简单的方法是在第一个组件之前和最后一个组件之后添加 "glue"
。然后它将适用于 1 个组件或多个组件。
阅读有关 Invisible Components as Filler 的 Swing 教程部分,了解更多信息和示例。