Java线程管理和应用程序流
我有一个从服务器下载信息(实体)的Java应用程序。我使用下载线程来下载数据 下载流程如下所示:Java线程管理和应用程序流,java,multithreading,swing,Java,Multithreading,Swing,我有一个从服务器下载信息(实体)的Java应用程序。我使用下载线程来下载数据 下载流程如下所示: 登录-下载用户实体 根据用户实体,下载“社区”实体列表并显示在下拉列表中 根据社区下拉选择,下载并在JTree中显示“组织树” 根据节点选择,下载类别实体并显示在下拉列表中 根据类别选择,下载子类别实体并显示在下拉列表中 根据子类别选择下载一个大数据集并保存它 下载发生在线程中,因此GUI不会“冻结”。它还允许我更新进度条 我需要帮助来管理这个过程。主要的问题是,当我下载实体数据时,我必须找到一种方
非常感谢。您可能需要研究如何使用
未来的界面。
顺便走访
它包含了使这些任务变得更容易所需的所有内容。您必须为视图创建一个“模型”,表示应用程序的当前状态。对于树,例如,当有人打开树节点时,显示“加载”节点是合理的,因为其他情况下GUI会挂起打开节点
如果加载线程完成加载节点,“加载”-节点将替换为异步操作的结果。这使得并行打开多个节点变得容易,因为工作线程都只负责一个子节点
下载内容时类似:工作人员随后更新下载进度。这里出现了Firefox的下载对话框
好的GUI并不容易:) 我认为在Java的最新版本中,最常用的方法是使用SwingWorker:
它允许您启动后台任务,并为您提供一个方便的done()方法,该方法在Swing EDT上执行