Загрузите AWT-Image параллельно / одновременно, затем замените Placeholder-Image - PullRequest
1 голос
/ 22 января 2012

Я использую FlyingSaucer , основанный исключительно на Java XHTML-рендерер, который изначально встроен в Swing.Для отображения изображений он предоставляет ReplacedElementFactory, который получает W3C-DOM-элемент и может заменить его на ReplacedElement.

Реализация для отображения изображений заключается в возвращении java.awt.Image из ReplacedElementFactory, загруженного через ImageIO..read (..), который затем отображается.Это означает, что вся загрузка является блокирующей операцией в потоке EDT, замораживая пользовательский интерфейс при загрузке нескольких внешних изображений ...

Интересно, как я могу вернуть awt. Изображение, представляющее "изображение загружается",отправьте загрузку в поток, а затем, моя проблема прибывает, замените возвращенный, уже обработанный Placeholder-ImageIsLoading фактическим, загруженным изображением .Так есть ли какие-либо возможности изменить существующий awt.Image, а затем заставить его перекрасить / очистить / что-нибудь еще?

Любой совет?

1 Ответ

0 голосов
/ 07 февраля 2012

Я создал пользовательский «Компонент расширения изображения» и перекрасил изображение при загрузке и дополнительно вызвал метод relayout для FlyingSaucer

...