我有一个基于Swing的金融股票代码,它会显示价格变动的金融符号以及每个柜台/公司的向上或向下箭头。
这个自动收报机在计数器上可以有很多(最多100个),并且需要缓存图像符号以提高性能。
我已经尝试过遵循此article但未能理解它,尤其是MediaTracker类将如何缓存图像。从我所看到的,我将图像放在一个数组中,仍然从数组中检索。
有谁知道它是如何工作的并且应该被使用?
答案 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;。