2009-08-12 10 views

Antwort

2

einige null Kontrollen hinzufügen, es möglich ist, für die Werkbank nicht ein aktives Fenster zu haben, nicht es ist auch möglich, PlatformUI.getWorkbench eine Illegal zu werfen, wenn die Werkbank noch nicht gestartet ist (zB createAndRunWorkbench() hat noch nicht wurde genannt).

IWorkbenchWindow window = PlatformUI.getWorkbench().getInstance() 
    .getActiveWorkbenchWindow(); 

if(workbenchWindow != null) { 
    IWorkbenchPage page = window .getActivePage(); 
} 
34

Wenn der Thread im aktiven Fenster nicht ausgeführt wird, PlatformUI.getWorkbench(). GetActiveWorkbenchWindow() gibt "null". Sie müssen Ihren Code in ein Display einbinden, z. B .:

Display.getDefault().asyncExec(new Runnable() { 
    @Override 
    public void run() { 
     IWorkbenchWindow iw = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 
    } 
}); 
+0

Vielen Dank. Das hilft mir wirklich. Perfekt läuft. –