Java 带背景图像的JFrame和使用setLocation的JButton不适合我?

Java 带背景图像的JFrame和使用setLocation的JButton不适合我?,java,jpanel,jbutton,jlabel,imageicon,Java,Jpanel,Jbutton,Jlabel,Imageicon,我希望在图像上的确切位置添加一个按钮,但每次在JPanel dispaper中,我都会在面板上使用setLayout(null) import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; public class ImagePanel extends JPanel { private static final long seri

我希望在图像上的确切位置添加一个按钮,但每次在JPanel dispaper中,我都会在面板上使用setLayout(null)

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class ImagePanel extends JPanel 
{
private static final long serialVersionUID = 1L;

public ImagePanel(String ID)
{
    setLayout(null);
    add(new JLabel(new ImageIcon("C:\\Users\\User\\Pictures\\Train_X2000\\vagn" + ID + ".png")));

    JButton startButton = new JButton("Click Me To Start!");
    startButton.setLayout(null);
    startButton.setLocation(66,66);
    add(startButton);
}
}
有人知道这是怎么回事吗?我在这里真的迷路了


/Magnus

不要使用空布局,这不是将组件添加到空布局的正确方法。您忘记了
setBounds()
?但我不鼓励您这样做,因为您已关闭布局管理器,您的背景永远无法正确调整大小。我建议您为此使用JLayeredPane。然后,您仍然可以使用布局管理器来布局您想要布局的图层。谢谢您,我将在JLayeredPane上尝试使用它。