如果fork为false,则JFace ProgressMonitorDialog不显示进度条

时间:2015-01-22 17:19:02

标签: eclipse jface

我有一个来自jface的进度监视器对话框(Indeterminate progress),如果我将fork设置为false,即对话框在主GUI线程中运行,我的监视器将不显示进度,进度条只是空白。 我想在主GUI中运行对话框,但仍想显示进度条。我该怎么办?

确切的问题是:我启动进度监视器然后进行服务器调用,然后在服务器调用返回后;在一个单独的线程中,我从服务器调用的结果进行处理 - 这又是一个UI线程,涉及对话框,视图等。问题是在服务器调用之前启动的第一个线程中的进度监视器(服务器调用是在serparate线程)隐藏在第二个runnable中的对话框/视图后面,用于处理服务器结果

1 个答案:

答案 0 :(得分:2)

如果您在UI线程中忙碌,那么进度对话框本身没有时间重绘。 the run method的fork参数不控制对话框是否在UI线程中运行,它始终必须控制是否IRunnableWithProgress。这就是为什么建议您传递true