Eclipse plugin PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart()返回null

Eclipse plugin PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart()返回null,eclipse-plugin,eclipse-rcp,Eclipse Plugin,Eclipse Rcp,我正在尝试使用以下代码获取eclipse插件中的活动部分,但结果为空: 我发现我应该把上面的代码放在一个线程中,所以我把代码改为: PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() { @Override public void run() { PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getA

我正在尝试使用以下代码获取eclipse插件中的活动部分,但结果为空:

我发现我应该把上面的代码放在一个线程中,所以我把代码改为:

PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
    @Override
    public void run() {
        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
    }
});
但我仍然得到零


当我使用asyncExec时,它会找到活动部件,但asyncExec与我的需要不匹配,因为我立即需要活动部件。

您要在哪里访问活动部件?你得到的是NULL还是NullPointerException?应用程序是否可能尚未完全启动?您使用的是什么Eclipse版本?您在哪里调用此代码?例如,在启动期间,活动部件将为空。
PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
    @Override
    public void run() {
        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
    }
});