【发布时间】:2013-04-23 13:22:50
【问题描述】:
我正在尝试编写一个复古的蛇游戏。我设置了一个旧诺基亚的背景图像,我想从它的屏幕上播放蛇。但是,我不能将我的游戏面板放在我的背景图像上。 我可以这样做吗? 我将此代码用于我的背景图片。
谢谢。
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);
【问题讨论】:
-
与其将
JPanel放在图像上,不如使用自定义绘画创建JPanel。请参阅 this 链接。 -
@ExtremeCoders:我认为将图像放入 ImageIcon、JLabel 并使 JLabel 成为 contentPane 没有问题,事实上我已经多次这样做了。您预计此设置会出现什么问题?
-
@HovercraftFullOfEels 问题是,如果我们希望图像根据
JPanel's大小自行缩放,那么上述设置将无法实现 -
@ExtremeCoders:好的,我会同意的。