取消搜索按关闭按钮

时间:2013-09-20 10:21:17

标签: search eclipse-rcp

我正在使用“取消”按钮实现搜索对话框。 当用户开始搜索时,结果将被填充 在DBView中的TableViewer中,逐个显示进度 在进度条中。

假设用户想取消搜索,他将点击取消按钮。

如何停止数据填充过程??

SearchProgressBar dlg=new  SearchProgressBar(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
dlg.open();
for(int i=0;i<result.length;i++) {
String str=FillGistTable(result[i].toString().split("\\~"),i);
COUNT++;
}
dlg.close()

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是使用IProgressService

IProgressService service = PlatformUI.getWorkbench().getProgressService();
service.busyCursorWhile(runnableWithProgress);

runnableWithProgess是一个实现IRunnableWithProgress的类,它是您放置循环的地方。您将通过IProgressMonitor - 检查isCanceled()方法以检查取消。

如果循环快速完成,则不会显示任何对话框,但如果显示的时间较长,则会显示带取消的进度对话框。

注意:纯{e4'Eclipse 4应用程序中没有IProgressService