gpt4 book ai didi

java - 强制 JLabel 在昂贵的操作之前显示文本

转载 作者:行者123 更新时间:2023-11-29 03:54:59 26 4
gpt4 key购买 nike

在使用 ImageIcon 更新文本之前,我无法让 JLabel 立即显示文本。

我有一个固定大小的 JLabel,它将显示完美适合它的文本或图像。我试图让它显示文本“正在加载...”,然后立即让它从 URL 加载图像并用它替换文本。

...

public void setImage()
{
URL url = new URL("http://www.website.com/pathtoimage/image.png");

jLabel1.setIcon(null);
jLabel1.setText("Loading...");

ImageIcon ii = new ImageIcon(url);
jLabel1.setIcon(ii);
}

...

(假设已正确捕获异常并进行了所有必需的导入,并且图像存在且有效。)

以上代码没有显示文字;所发生的只是应用程序挂起,因为图像被下载并在几分之一秒后显示,这主要是预期的。在继续用图像替换它之前,如何强制 swing 更新 JLabel?或者,您是否知道一种不同的、更有效的方法来实现这一目标?

最佳答案

看看SwingWorker并在此处阅读有关 GUI/线程/后台线程的信息(不仅是我链接的第一页,还有以下页面)Event Dispatch Thread ;)

关于java - 强制 JLabel 在昂贵的操作之前显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6889121/

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