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

Aus Eclipse
Version vom 15. Juli 2010, 15:28 Uhr von Thies (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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.
   }
});