2009-08-12 18 views

Respuesta

2

Añadir algunos cheques nulos, es posible que el banco de trabajo para no tener una ventana activa, no es posible también para PlatformUI.getWorkbench para lanzar un IllegalStateException si el banco de trabajo aún no se ha iniciado (por ejemplo createAndRunWorkbench() no tiene todavía sido llamado).

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

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

Si el hilo no se ejecuta en la ventana activa, PlatformUI.getWorkbench(). GetActiveWorkbenchWindow() devolverá "nulo". Debe envolver su código en una pantalla, por ejemplo:

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

Muchas gracias. Esto realmente me ayuda. Perfectamente corriendo. –

Cuestiones relacionadas