我需要为我的学校项目做一个喷气式战斗机游戏,但我不知道如何在gif背景上放置飞机图像。以下是我尝试做的:
我正在尝试做的事情的照片:
这是我迄今为止写的代码:
public class GameScreen {
public GameScreen() {
JFrame frame=new JFrame();
JPanel panel=new JPanel();
frame.setSize(500, 550);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);
panel.setLayout(null);
JLabel Background;
Background=new JLabel(new ImageIcon(getClass().getResource("/image/background.gif")));
Background.setBounds(0, 0, 500, 550);
panel.add(Background);
JLabel jet;
jet=new JLabel(new ImageIcon(getClass().getResource("/image/jet.png")));
jet.setBounds(400, 400, 50, 50);
panel.add(jet);
frame.setVisible(true);
}
}
当我运行这个,喷气机图像不会显示,因为我认为它停留在背景之下。如何解决这个问题?
1条答案
按热度按时间mefy6pfw1#
将标签添加到同一面板。swing绘制首先添加的最后一个组件。所以喷气式飞机在作画,然后背景画在上面。
swing是用父/子关系设计的。
框架
内容窗格
背景
喷气式飞机
框架的内容窗格是一个jpanel,因此不需要额外的“panel”。
相反,您的代码应该是这样的:
现在将在父/子关系中绘制组件。