Eclipse:获取null显示

low*_*ing 3 java eclipse swt acceleo emf

我试图在Eclipse插件中弹出一个对话框(即一个FileDialog),实际上在一个Acceleo转换之前,我正在运行相关的UI Launcher项目(http://lowcoupling.com/post/51877317162/the-acceleo- ui-launcher-project)

我试图在相关的doGenerate方法中这样做...

public void doGenerate(IProgressMonitor monitor) throws IOException {

    Display display = Display.getCurrent();
    System.out.println(display);
    //....
Run Code Online (Sandbox Code Playgroud)

但我得到的显示是空的我应该怎么做?

Baz*_*Baz 5

IWorkbench#getDisplay()各州的文件:

代码应始终向工作台询问显示而不是依赖Display.getDefault().

所以使用:

PlatformUI.getWorkbench().getDisplay()
Run Code Online (Sandbox Code Playgroud)

代替.

  • 请注意,这不能用于不能使用"PlatformUI"的"纯"e4应用程序.对于`syncExec`和`asyncExec`,使用可以注入的`org.eclipse.e4.ui.di.UISynchronize`. (2认同)