本文介绍了Vaadin 7在执行后台线程后不刷新UI(仅当它花费超过5分钟时)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Vaadin 7.在我的应用程序中有一个表列表,用户可以选择一个或多个项目来详细说明。如果单击执行按钮,则禁用UI组件并启动两个线程:
1st Thread执行大量计算
2nd UI上的线程更新进度指示器(使用lock()和unlock()方法)

I'm using Vaadin 7. In my application there's a table list and user could choice one or more items to elaborate. If execute button is clicked, UI component are disabled and two Threads start: 1st Thread does heavy computation 2nd Thread updating progress indicator on UI (with lock() and unlock() method)

最后一个线程:

项目从数据库中删除,所有组件都被删除并重新添加(启用)。通过这种方式可以确保刷新表数据。

item is deleted from DB, all component removed and re-added (enabled). In this way refreshing table data is assured.

它运行良好,但是当处理长任务时,UI不会刷新,表也会被禁用。

It works well, but when a long task is processed UI doesn't refresh and table are disabled yet.

任何人都可以帮助我?

非常感谢

推荐答案

您可以使用像ProgressIndicator一样定期刷新的组件。线程完成后禁用它。这对我有用。

You could use a component which refreshes periodically like the ProgressIndicator. Disable it after the thread has finished. That works for me.

这篇关于Vaadin 7在执行后台线程后不刷新UI(仅当它花费超过5分钟时)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 06:01