1

我正在尝试编写一个复古的蛇游戏。我设置了一个旧诺基亚的背景图像,我想从它的屏幕上播放蛇。但是,我不能将我的游戏面板放在我的背景图像上。我可以这样做吗?我将此代码用于我的背景图像。

谢谢。

JFrame frame = new JFrame("Retro Snake");
    frame.getContentPane().add(new GamePanel());
    try {
        frame.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("Images\\background.jpg")))));
    } catch (IOException e) {
        e.printStackTrace();
    }
    frame.setLocation(500, 100);
    frame.pack();
    frame.setVisible(true);
4

1 回答 1

3
  • 不要将 JPanel 添加到您只会在下一行或两行丢弃的 contentPane(就像您当前正在做的那样)。
  • 通过给你的新 contentPane-JLabel 一个 BorderLayoutsetLayout(new BorderLayout())
  • 将游戏面板添加到上面的 JLabel,Borderlayout.CENTER。
  • 确保通过调用游戏面板 JPanel 使其不透明setOpaque(false),以便背景 JLabel 显示其图像。
于 2013-04-29T18:54:30.137 回答