Wie ruft man UI-Methoden von einem Nicht-UI-Thread auf?

Aus Eclipse
Wechseln zu: Navigation, Suche

Problem

Man muss von einem Thread aus, der nicht zum UI gehört, einen View benachrichtigen, öffnen oder ... Versucht man das erhält man von Eclipse die Fehlermeldung UI-Method wird versucht aufzurufen von einem Nicht-UI-Thread.

Lösung

Man kann das mit folgendem Quellcode erledigen.

final Display display = PlatformUI.getWorkbench().getDisplay();

display.syncExec(new Runnable() {
   public void run() {
       // Hier kann man UI Methoden aufrufen.
   }
});