2012-01-22 34 views
1

我使用的是FlyingSaucer,這是一種純粹的基於Java的XHTML-Renderer,它本身集成到swing中。 要顯示圖像,它提供了一個ReplacedElementFactory,它可以獲得一個W3C-DOM元素,並且可以用一個ReplacedElement代替它。並行/同時加載AWT-Image,然後替換Placeholder-Image

顯示圖像的實現是從ReplacedElementFactory返回一個java.awt.Image,通過ImageIO.read(..)加載,然後將其呈現。這意味着整個加載是EDT線程中的阻塞操作,當加載多個外部圖像時凍結UI ...

我不知道如何返回表示「圖像正在加載」的awt.Image,調度加載到一個線程,然後,我的問題即將到來,用實際加載的圖像替換返回的,已經呈現的Placeholder-ImageIsLoading。那麼是否有可能改變現有的awt.Image,然後強制重繪/刷新/其他?

有什麼建議嗎?

回答

0

我已經構建了一個自定義的「圖像擴展組件」,並在加載時重新繪製圖像並另外調用FlyingSaucer的重新佈局方法