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

时间:2009-05-29 12:54:19

标签: java swing image caching

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

这个自动收报机在计数器上可以有很多(最多100个),并且需要缓存图像符号以提高性能。

我已经尝试过遵循此article但未能理解它,尤其是MediaTracker类将如何缓存图像。从我所看到的,我将图像放在一个数组中,仍然从数组中检索。

有谁知道它是如何工作的并且应该被使用?

1 个答案:

答案 0 :(得分:3)

MediaTracker将帮助您跟踪加载大量图像,但这就是它。一旦加载了所有内容,您将需要类似于旧的地图,其中的图像与文件名或公司名称或ID进行对比。

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

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