为什么刚开始用Image hook = Toolkit.getDefaultToolkit().getImage(“imgs/hook.png”);添加图片,要拉一下窗口框才能显示图片,随着添加的图片越来越多,反而不需要拉动窗口狂
时间: 2024-04-04 19:33:43 浏览: 90
这可能是由于在加载多张图片时,系统会对图片进行缓存,当第一张图片被加载时,可能需要一些时间来缓存图片,而这个过程可能需要进行一些窗口重绘的操作,因此需要拉动窗口框才能触发窗口重绘。但是,一旦图片被缓存,后续加载同样的图片时,就不需要再进行缓存和重绘了,因此就不需要再拉动窗口框了。这可能是导致添加的图片越多,就越不需要拉动窗口框的原因。另外,可能还有其他因素导致这种现象的出现,具体需要结合具体的代码和环境来进行分析。
相关问题
为什么刚开始用Image hook = Toolkit.getDefaultToolkit().getImage("imgs/hook.png");添加图片,要拉一下窗口框才能显示图片
这可能是由于图片加载的时机不同导致的。在使用 Toolkit.getDefaultToolkit().getImage() 方法加载图片时,图片的加载是异步的,也就是说,当执行该方法时,代码并不会等待图片完全加载完毕,而是直接返回一个 Image 对象。如果在此之后直接使用该 Image 对象绘制图像,可能会出现图像没有加载完全的情况,这时就需要使用 MediaTracker 类来监控图片的加载情况,确保图片完全加载后再进行绘制。而拉动窗口框可能会导致系统重新绘制窗口,从而触发图像的加载和绘制。因此,你可以尝试使用 MediaTracker 来确保图片完全加载后再进行绘制。
阅读全文