1
我似乎在通过JFrame绘制背景图像时遇到问题。所有其他图标都正确绘制,但背景图像似乎被跳过。变量backgroundImg是一个ImageIcon(声明像大多数其他图标一样),它应该设置为我的JFrame的背景,其中的其他图标将被绘制在其上。它可能是这样的情况,图形功能是Java不绘制多个图标,但我不知道。下面是代码:Java画图标不能用于背景图片
private ImageIcon backgroundImg = new ImageIcon("image/back.PNG");
private String name;
private long score=0;
private static final Dimension backgroundSz = new Dimension(1024,768);
...................................................
public GamePanel()
{
setPreferredSize(backgroundSz);
setBackground(Color.black);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.backgroundImg.paintIcon(this, g, backgroundImg.getIconWidth(),
backgroundImg.getIconHeight());
}
要解释一下进一步的问题:背景图像应该是一个星域,它应该被画了游戏主面板。但是,结果每次都是黑色背景(如背景色中设置的那样)。图像大小与帧大小相同。所有其他图像都在游戏开始后正确绘制,唯一的问题是背景图片。删除大部分描绘其他图像的代码后,背景图像仍然无法加载。
考虑提供一个[可运行示例](https://stackoverflow.com/help/mcve)这表明您的问题。这将导致更少的混淆和更好的回应 – MadProgrammer 2014-12-05 11:00:42
MadProgrammer:我可以发布的唯一例子是我的问题是窗口的屏幕截图。这会更有帮助吗? – 2014-12-05 11:09:15
mKorbel:失踪的paintIcon在哪里? – 2014-12-05 11:09:52