java - 使用 MediaTracker 在 Swing 应用程序中缓存图像

标签 java swing image caching

我有一个基于 Swing 的金融代码,它将显示一个金融符号、价格变动和每个柜台/公司的向上或向下箭头。

此代码可以有很多计数器(最多 100 个),并且需要缓存图像符号以提高性能。

我试过按照这个article但无法理解它,尤其是 MediaTracker 类将如何缓存图像。据我所知,我将图像放在一个数组中并仍然从该数组中检索。

有谁知道它是如何工作的以及应该如何使用?

最佳答案

MediaTracker 将帮助您跟踪加载大量图像,仅此而已。加载完所有内容后,您将需要一些类似旧 map 的东西,其中图像根据文件名或公司名称或 ID 进行哈希处理。

private Map<String,Image> imageCache = new HashMap<String,Image>();

在 1.4 JavaDocs 上有一个使用 MediaTracker 加载图像的合理示例:http://java.sun.com/j2se/1.4.2/docs/api/java/awt/MediaTracker.html .请注意,没有 getImage() 方法,您需要一个 int id 才能跟踪它们。您必须自己维护 BufferedImage 引用,因此需要维护 HashMap<>。

关于java - 使用 MediaTracker 在 Swing 应用程序中缓存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/925819/

相关文章:

html - 图标在不同计算机上更改大小和显示属性

java - java中的方法可以嵌套,效果如何?

Java/Groovy : Create and read a list of two objects

java - struts2中的freemarker配置

java - 为单个和多个对象创建对象容器

java - 如何契约(Contract)卡布局

java - 如何停止重绘()闪烁

Java Swing 聊天机器人 Messenger 集成

Android 应用程序下载模式涉及不同设备/屏幕上的相同图像

image - 使用 DispatchQueue 在 SwiftUI 中异步加载图像