JButton 设置 X 位置不起作用
JButton Set X Location not working
我有一个 JWindow,它在 JPanel 中有一个 JLabel 和 JButton。我正在尝试将 JButton 的位置设置为中心。出于某种原因,设置 y 位置有效,但 x 位置不会改变。
我的代码有什么问题?
JWindow window = new JWindow();
JPanel panel = new JPanel();
panel.setLayout(new OverlayLayout(panel));
JButton singlePlayer = new JButton("Single Player", new ImageIcon(this.getClass().getResource("ButtonSword.png")));
singlePlayer.setPreferredSize(new Dimension(170, 50));
singlePlayer.setLocation(window.getWidth()/2-85, window.getHeight()/2-25);
JLabel label = new JLabel(new ImageIcon(this.getClass().getResource("Splash.png")));
panel.add(singlePlayer);
panel.add(label);
window.getContentPane().add(panel);
window.pack();
window.setLocationRelativeTo(null);
window.setVisible(true);
如果您想使用 OverlayLayout,那么您还需要确保使用:
setAlignmentX(Component.CENTER_ALIGNMENT);
setAlignmentY(Component.CENTER_ALIGNMENT);
标签和播放器,以便对齐同步。
我有一个 JWindow,它在 JPanel 中有一个 JLabel 和 JButton。我正在尝试将 JButton 的位置设置为中心。出于某种原因,设置 y 位置有效,但 x 位置不会改变。 我的代码有什么问题?
JWindow window = new JWindow();
JPanel panel = new JPanel();
panel.setLayout(new OverlayLayout(panel));
JButton singlePlayer = new JButton("Single Player", new ImageIcon(this.getClass().getResource("ButtonSword.png")));
singlePlayer.setPreferredSize(new Dimension(170, 50));
singlePlayer.setLocation(window.getWidth()/2-85, window.getHeight()/2-25);
JLabel label = new JLabel(new ImageIcon(this.getClass().getResource("Splash.png")));
panel.add(singlePlayer);
panel.add(label);
window.getContentPane().add(panel);
window.pack();
window.setLocationRelativeTo(null);
window.setVisible(true);
如果您想使用 OverlayLayout,那么您还需要确保使用:
setAlignmentX(Component.CENTER_ALIGNMENT);
setAlignmentY(Component.CENTER_ALIGNMENT);
标签和播放器,以便对齐同步。