Wie ruft man UI-Methoden von einem Nicht-UI-Thread auf?: Unterschied zwischen den Versionen

Aus Eclipse
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: == 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 Fehlerm...)
 
K
 
Zeile 11: Zeile 11:
 
     }
 
     }
 
  });
 
  });
 +
[[Kategorie:Multithreading]]
 +
 +
[[Kategorie:GUI]]
 +
[[Kategorie:SWT]]

Aktuelle Version vom 15. Juli 2010, 15:28 Uhr

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.
   }
});