Java 并行/并发加载AWT图像,然后替换占位符图像
我使用的是一个纯粹基于java的XHTML渲染器,它本机集成到swing中。 为了显示图像,它提供了一个ReplacedElementFactory,它获取一个W3CDOM元素,并可以用ReplacedElement替换它 显示图像的实现是从ReplacedElementFactory返回一个java.awt.Image,通过ImageIO.read(..)加载,然后进行渲染。这意味着整个加载是EDT线程中的阻塞操作,在加载多个外部图像时冻结UI 我想知道如何返回表示“图像正在加载”的awt.Image,将加载分派到线程,然后,我的问题来了,用实际加载的图像替换返回的、已渲染的占位符imageisload。那么,有没有可能改变现有的awt.Image,然后强制它重新绘制/刷新/什么的 有什么建议吗?我已经构建了一个自定义的“图像扩展组件”,并在加载时重新绘制图像,另外还调用了FlyingSaucer的relayout方法Java 并行/并发加载AWT图像,然后替换占位符图像,java,multithreading,image,awt,flying-saucer,Java,Multithreading,Image,Awt,Flying Saucer,我使用的是一个纯粹基于java的XHTML渲染器,它本机集成到swing中。 为了显示图像,它提供了一个ReplacedElementFactory,它获取一个W3CDOM元素,并可以用ReplacedElement替换它 显示图像的实现是从ReplacedElementFactory返回一个java.awt.Image,通过ImageIO.read(..)加载,然后进行渲染。这意味着整个加载是EDT线程中的阻塞操作,在加载多个外部图像时冻结UI 我想知道如何返回表示“图像正在加载”的awt.I