gpt4 book ai didi

java - 使用相关任务更新 GUI

转载 作者:行者123 更新时间:2023-12-01 14:27:50 25 4
gpt4 key购买 nike

我正在开发一个复杂的多线程应用程序,它与用户和多个服务器进行交互。我想向用户显示一致的状态。假设当属性 A 更改时,属性 B、C、D 会变得不一致并需要更新 - 更新可能需要运行一些依赖于其他属性的复杂算法。但属性E不依赖于A,因此不需要更新。

我的问题是任何线程都可以随时更改任何属性,当然需要使用同步。因此,当线程完成其任务并获取更新的数据时,该数据可能已经过时了。在我的应用程序的理论推理中,当不需要其他更新时,可能存在一致状态 - 我想向用户显示这一点。

在 GUI 多线程应用程序中通常如何管理这些依赖关系?目前,我正在使用时间戳,但这不足以解决更复杂的依赖关系。我正在考虑使用 gradle 或 maven,但它似乎有点矫枉过正,GUI 应用程序应该保持快速和响应能力。我心中有一个解决方案,但是稍后它可能需要额外的扩展,因此我宁愿使用一些现有的解决方案。

最佳答案

Java Swing 提供了监听器,以便开发人员可以知道某个操作何时发生,例如按下按钮。

以同样的方式,您的线程可以提供操作监听器,以便 Swing GUI 可以知道何时更新属性。

您必须编写这些操作监听器。在 Javadoc 中可以找到 EventListenerList 的示例。

阅读这篇文章,Event Listener ,这是编写事件监听器的另一个示例。

关于java - 使用相关任务更新 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17055485/

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