gpt4 book ai didi

java - 立即更改 JLabel

转载 作者:行者123 更新时间:2023-11-30 06:33:28 26 4
gpt4 key购买 nike

我的应用程序由两个类文件组成,我们称它们为 A 和 B。A 是主要文件 - 被执行的文件和 jar 文件的主类。在 A 中,我定义了一个 JFrame,向其添加了两个 JPanel:其中一个由 JButton 和 JLabel 组成,另一个是图形化的,并在 B 中实现(B extends JPanel)。

在 B 中,我有一个可能需要一段时间的方法,所以我希望向用户提供有关该过程的信息;即,我想告诉用户还剩下多少计算量。我想通过更新 A 类中的 JLabel 来做到这一点。但是,当我尝试它时,我发现 JLabel 仅在该方法完成后才更新,即我没有看到它从 0% 运行到 100% 我只看到100%,一直都是。

我认为我没有任何相关的代码片段可以展示给您,但是如果您希望我发布一些内容,请告诉我。

我检查过类似的问题,但在我看来他们问的是完全不同的问题。

谢谢,

罗恩。

最佳答案

你的是线程问题。您长时间运行的进程占用了主 Swing 线程 EDT,从而阻止了任何绘图、组件更新或用户交互。您需要在后台线程中执行长时间运行的进程,例如 SwingWorker 对象提供的线程。这样做,您的 GUI 将变得更加灵敏。

查看 Concurrency in Swing有关此重要主题的更多信息。

如果您需要更具体的帮助,您将需要提供更多信息和代码。

关于java - 立即更改 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863111/

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