在我的SWT应用程序中,我希望使用进度条(org.eclipse.swt.widgets.ProgressBar) 我找到了示例,但无法理解我需要执行后台任务的正确流程和用法,我在算法阶段暂停,就像我可以分析应该有两个线程一个用于后台作业,另一个用于进度条两者都应该执行同时,我无法弄清楚这个的实现,我发现了很多例子但是,我很疑惑我应该在哪里放置我的后台任务代码(仍在搜索)。任何人都可以提供适合我的示例。
答案 0 :(得分:4)
您是否在update a progress bar (from another thread)页面看到了SWT ProgressBar snippets?它解释了很多。
ProgressBar
必须是异步才能在每个GUI框架中正常工作。它的工作是在主(GUI)线程上独立显示一些值。所以你必须编写自己的线程,它将维护ProgressBar,解析它的当前值并显示值的变化(按窗口小部件本身呈现进度)。
在Swing中,您不必为ProgressBar创建自己的线程,因为该类已经实现了上层建议的行为(使自己成为另一个线程并为您管理工作)。但由于SWT与平台有关(并且出于其他原因),您必须自己管理。