我在尝试使用 ToolKit 类加载一些图像时遇到问题,这是这样完成的:
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.createImage(imageFile.getPath());
但是当我稍后尝试将这些图像绘制到我的 Canvas (位于 JFrames 内)时,它通常只会在 Canvas 上绘制一些图像,但不会引发异常。经过大量调查后,我相当确信图像在绘制时尚未完成加载,但我无法验证这一点。我在文档中读到有一个名为 ImageOberserver 的类,如果您检查其名为 Allbit 的属性,这将告诉您对象是否已完全加载,但我没有找到如何执行此操作的好示例或任何描述此的好文档过程。
此外,我发现在我的 mac 上运行它时返回的工具包是 apple.awt.CToolKit,但我也找不到关于此类的文档。有谁知道当您运行 createImage 方法时 CtoolKit 是否创建了一个新线程?有谁知道我在哪里可以找到这门课的文档?
最佳答案
图像以增量方式加载,并且可以是动画的。通常,您可以只使用 javax.swing.ImageIcon
。 java.awt.MediaTracker
是确保图像已完成加载的传统途径。
关于java - 寻找有关在 Java/Swing 中检查图像观察者的所有位的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2099040/