Использование MediaTracker для кэширования изображений в приложении Swing - PullRequest
4 голосов
/ 29 мая 2009

У меня есть финансовый тикер на основе Swing, который будет отображать финансовый символ движения цены и стрелку вверх или вниз для каждого счетчика / компании.

Этот тикер может иметь много на счетчиках (до 100) и видеть необходимость кэшировать символы изображений для повышения производительности.

Я пытался следовать этой статье , но не смог понять ее, особенно то, как класс MediaTracker собирается кэшировать изображения. Из того, что я вижу, я помещаю изображения в массив и все еще извлекаю их из массива.

Кто-нибудь знает, как он работает и должен использоваться?

1 Ответ

3 голосов
/ 29 мая 2009

MediaTracker поможет вам следить за загрузкой большого количества изображений, но это все. После того, как все будет загружено, вам понадобится что-то вроде старой доброй карты с изображениями, хэшированными либо по имени файла, либо по названию компании или идентификатору.

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 <>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...