JButton Set X位置不起作用

时间:2015-01-01 01:23:35

标签: java swing jpanel jbutton layout-manager

我有一个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);

1 个答案:

答案 0 :(得分:1)

如果您想玩OverlayLayout,那么您还需要确保使用:

setAlignmentX(Component.CENTER_ALIGNMENT);
setAlignmentY(Component.CENTER_ALIGNMENT);

用于标签和播放器,以使对齐同步。