gpt4 book ai didi

java - JEdi​​torPane图片异步下载问题

转载 作者:行者123 更新时间:2023-11-29 06:10:44 25 4
gpt4 key购买 nike

我正在尝试创建简单的 Swing 应用程序,其中包含几个 JEditorPanes。每个 JEditorPane 都包含带有 html 标签的文本。还有一些 Pane 包含带有标签 <img src='http://some.url' /> 的 html,这意味着图像可能位于网络中的某个位置。 问题是 - 如果其中一个图像 url 不可用 - 我的所有 JEditorPanes 和整个应用程序都会挂起。(我在自己的线程中构建 JEditorPanes,并在构建后使用 SwingUtilities.invokeLater(...) 将它们放入主框架)

我相信图像是异步下载到 JEditorPanes 中的,有没有办法杀死这些挂起的图像下载线程?

或者,也许有更好的解决方案?

谢谢

附言使用了 SwingWorker。问题是 - 如果某些图像 url 不可用 - 所有 JEditorPanes 都无法下载他们的图片。事实上他们并没有挂起,但无法下载图像。为什么?

附言

后台线程:

    JEditorPane jtp=new JEditorPane();
jtp.setContentType("text/html");
jtp.setPreferredSize(newDimension(20,250));
StringBuilder sb=new StringBuilder();
sb.append("<img src='").append(url).append("'/>");
jtp.setText(sb.toString());

SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
myPanel.add(rigid,0);
myPanel.add(jtp,0);

myPanel.revalidate();
}
});

最佳答案

考虑使用SwingWorker , 与 example或者有可能从 Runnable#Thread 启动后台任务(输出必须包装到 invokeLater()

关于java - JEdi​​torPane图片异步下载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6958556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com