Java 如何在RCP中为长时间运行的作业提供首选项设置?

Java 如何在RCP中为长时间运行的作业提供首选项设置?,java,eclipse,rcp,Java,Eclipse,Rcp,我当前在我的rcp应用程序中遇到一个长时间运行的作业问题。在启动作业时,我有一个带有3个按钮和一个复选框的进度栏。如果用户选中该复选框并在后台按“运行”,则我的进度栏对话框不会返回。 因此,我尝试使用一个首选项页面,用户可以在其中检查和取消选中此设置。但我了解到,我必须使用一些内部操作来完成此操作WorkbenchPlugin.PlatformUI.getPreferenceStore.setValue IPreferenceConstants.RUN_IN_BACKGROUND,false 根

我当前在我的rcp应用程序中遇到一个长时间运行的作业问题。在启动作业时,我有一个带有3个按钮和一个复选框的进度栏。如果用户选中该复选框并在后台按“运行”,则我的进度栏对话框不会返回。
因此,我尝试使用一个首选项页面,用户可以在其中检查和取消选中此设置。但我了解到,我必须使用一些内部操作来完成此操作WorkbenchPlugin.PlatformUI.getPreferenceStore.setValue IPreferenceConstants.RUN_IN_BACKGROUND,false

根据实践,我不应该这样做。那么有没有更好的方法,或者有没有更好的方法从progressbar dilaog中删除run-in background复选框


在此方面的任何帮助都将不胜感激

您可以在不使用内部类的情况下执行此操作:

IPersistentPreferenceStore store = new ScopedPreferenceStore(InstanceScope.INSTANCE, "org.eclipse.ui.workbench");

store.setValue("RUN_IN_BACKGROUND", false);

store.save();

IPreferenceConstants.RUN_IN_BACKGROUND也是内部的。还有其他任何未在内部删除的IPreferenceConstants。当然,如果插件或首选项名称发生更改,这将开始失败,但这不太可能用于此设置。