当前位置: 首页 > 知识库问答 >
问题:

在java swing中使用线程加载内容时显示加载gif徽标

申屠瀚海
2023-03-14

我试图在一些web请求完成时在jlabel中显示加载的gif。我做了一些研究,发现我需要使用事件调度线程才能做到这一点。但它似乎正在将此任务放入队列,以便稍后执行。我想并行执行,这意味着,当请求完成时,屏幕上会显示一个gif,通知客户某些任务正在完成。

但此gif仅在请求完成后显示。

我使用了invokeLater和Swing计时器,但没有成功。也许我的代码有问题。

我执行了以下代码:

label.setVisible(true);
label.getParent().revalidate();
label.getParent().repaint();

在可运行的代码片段中。

我做错什么了吗?你能帮帮我吗?

共有1个答案

李鹏
2023-03-14

您需要使用SwingWorker线程。所有与swing相关的东西,如窗户画和活动,都将在EDT上执行。您将执行后台任务,如在后台线程中请求和检索网页(SwingWorker)。

API:https://docs.oracle.com/javase/7/docs/api/javax/swing/SwingWorker.html

信息:http://en.wikipedia.org/wiki/SwingWorker

 类似资料:
  • 问题内容: 我尝试在我的网站中实施AJAX。单击div changepass的内容时,则应加载changepass.template.php。这是我为此使用的代码。 我的问题是在页面changepass.template.php完全加载时如何显示GIF动画(loading.gif)。请给我一些代码提示。 问题答案: 有很多方法可以做到这一点。一种简单的方法: JS: 詹姆斯·怀斯曼 ( James

  • 我如何可以显示一个加载GIF图像或Qtag更新,而我加载数据从数据库与QAbstractTableModel.我是新的pyqt5,我尝试了从上周,但不明白我怎么能做到这一点。 我在stackoverflow中找到了很多例子,但我确实无法处理Qthread。我不想为它使用计时器,因为我可以在许多示例中看到正在使用qtimer。在表中加载完成时,加载gif将自动关闭。谁能告诉我怎么做,并描述所有的事情

  • 我正在使用Glide在我的中加载GIF。 图像来自服务器,具有高分辨率和大量帧。 我注意到,一旦加载和播放GIF,内存使用率很高,可能导致内存不足。 我尝试了以下Glide方法(),但内存使用率没有改变。 Glide中还有其他可以使用的方法吗?

  • 问题内容: 我使用jQuery Tools Plugin作为图像滑块(此处为image ),但是由于图像数量巨大,我一次只需要加载几次。由于它是用JavaScript编码的,因此我无法知道滚动位置。我想在最后一张图片出现时立即加载它们。我不知道我放在哪里,事件监听器也什么都没有。 这是我的代码http://jsfiddle.net/PxGTJ/ 请给我一点光! 问题答案: 我只需要使用jQuery

  • 我试图在一个网站上获得一个内容列表(若有人感兴趣的话,这一个)。布局最近发生了变化,现在他们不会一次加载所有内容,而是使用magic(可能是js)。我目前正在使用JSoup分析HTML,但我愿意接受建议。 这就是我得到的: 实现此目的的代码: 这是我想看到的(复制从检查元素后,页面加载了所有的内容): 谷歌帮不了什么忙,因为与微调器等相关的所有内容都与javascript有关。 解决方案: 由于J

  • 问题内容: 我知道这个问题已经被问过很多次了,但是我还没有找到一个明确而有用的答案,所以我想我会以更清晰的格式写这个问题吗? 问题是,当您使用.load()函数并且您需要在加载的文件中运行的javascript时,由于我猜测DOM已经加载,因此无法正常运行。 解决此问题的简单方法是再次将javascript再次加载到已加载的文件中,但是如果要加载的文件很多,则到处都是javascript并不是很好