gpt4 book ai didi

Java 绘画图标不适用于背景图像

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:01 26 4
gpt4 key购买 nike

我在 JFrame 上绘制背景图像时似乎遇到问题。所有其他图标均已正确绘制,但背景图像似乎被跳过。变量backgroundImg是一个ImageIcon(像我的大多数其他图标一样声明),它应该设置为我的JFrame的背景,其他图标将绘制在它上面。 Java 的 Graphics 函数可能不会绘制多个图标,但我不确定。这是代码:

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());


}

进一步解释一下这个问题:背景图像应该是星空,并且应该绘制在主游戏面板上。然而,结果每次都是黑色背景(如背景颜色中设置的)。图像尺寸与帧尺寸相同。游戏开始后,所有其他图像都正确绘制,唯一的问题是背景图片。删除大部分绘制其他图像的代码后,背景图像仍然无法加载。

最佳答案

现在paintIcon有x,y参数而不是宽度/高度,这似乎是错误。

总的来说,我有点不喜欢paintIcon方法,并且会存储图像并执行以下操作:

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(backgroundImg.getImage(), 0, 0, null);
}

关于Java 绘画图标不适用于背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com