gpt4 book ai didi

Java 图像仅绘制第二次

转载 作者:行者123 更新时间:2023-12-01 18:55:58 25 4
gpt4 key购买 nike

我正在尝试用 Java 绘制图像,我有下一个代码:

public void draw(Graphics g) {
Image strike_mid;
strike_mid = Toolkit.getDefaultToolkit().getImage(getClass().getResource("strike_mid.gif"));


for (int i=0;i<30;i++) {
for (int j=0;j<30;j++) {
if (strikeGrid[i][j]) {
g.drawImage(strike_mid, i*10, j*10, null);
}
}
}
}

当我第一次调用draw方法时,它没有绘制strike_mid图像,而我非常确定for循环中有一个状态它到达了drawImage。

当我第二次调用draw方法时,绘制成功。

我确信它也会第一次到达drawImage,因为当我选择绘制另一个.gif文件时,它也会第一次工作。

那么这里有什么问题呢?第一次使用 Strike_mid.gif 时怎么可能不绘制?

最佳答案

如果我没记错我的 Swing/AWT,仅仅因为 ToolkitgetImage 调用返回,并不意味着图像已完全加载。您可以查看 MediaTrackerImageObserver 以了解有关异步加载的更多信息。无论如何,您绝对应该将 getImage 调用从绘图中取出。该工具包可能会缓存 Image 对象,如文档中所述,但没有理由一遍又一遍地重新加载它。

关于Java 图像仅绘制第二次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13932066/

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