Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 按关闭按钮进行Canel搜索_Search_Eclipse Rcp - Fatal编程技术网

Search 按关闭按钮进行Canel搜索

Search 按关闭按钮进行Canel搜索,search,eclipse-rcp,Search,Eclipse Rcp,我正在实现一个带有取消按钮的搜索对话框。 当用户开始搜索时,结果将被填充 在数据库的TableViewer中,一个接一个地显示进度 在进度条中 假设用户想要取消搜索,他将单击“取消”按钮 如何停止数据填充过程 SearchProgressBar dlg=new SearchProgressBar(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); dlg.open(); for(int i=0;i<resul

我正在实现一个带有取消按钮的搜索对话框。 当用户开始搜索时,结果将被填充 在数据库的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()
SearchProgressBar dlg=新的SearchProgressBar(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
dlg.open();

对于(int i=0;i一种方法是使用
IProgressService

IProgressService service = PlatformUI.getWorkbench().getProgressService();
service.busyCursorWhile(runnableWithProgress);
RunnableWithProgress
是一个实现
IRunnableWithProgress
的类,您将在该类中放置循环。您将收到一个
IProgressMonitor
-检查
IsCancelled()
方法以检查是否取消

如果循环快速完成,则不会显示对话框,但如果需要更长时间,则会显示带有“取消”的进度对话框


注意:
IProgressService
在纯“e4”Eclipse4应用程序中不可用。

使用IProgressMonitor.isCanceled()方法。