Hey,
ich müh mich ja grad gezwungermaßen (Plugin für Eclipse) mit SWT ab.
Jetzt tut der EDT schon wieder nicht was ich will:
diese showButton Methode delegiert einfach an die setVisible() eines Buttons.
Anfangs ist der Button nicht sichtbar, und nachdem doImport() abgearbeitet wurde (läuft nicht in einem neuen Thread) wird der Button angezeigt. Also so wie man es erwartet.
ABER: Wenn er erstmal sichtbar ist und dieses Event wird wieder ausgelöst, verschwindet er nicht bis doImport() fertig ist. So als würde die erste Zeile in der handleEvent() nicht drin stehen.
Ich befürchte ja ihr kommt schon wieder mit asynch/syncExec usw, was bisher bei mir IMMER zu ner Exception geführt hat aber wer weiss
Ich versteh das Konzept von SWT da eh noch gar nicht. zB in der doImport() werden diverse setText()-Aufrufe auf ein Label gemacht, und die Änderung sieht man auch on-the-fly, d.h. diese Events kann er nicht hinter die handleEvent-Methode schieben - die werden sofort ausgeführt! Aber wieso geht dann das hier nicht...
Danke für eure Hilfe!
ich müh mich ja grad gezwungermaßen (Plugin für Eclipse) mit SWT ab.
Jetzt tut der EDT schon wieder nicht was ich will:
Java:
@Override
public void handleEvent(Event e) {
log.showButton(false);
doImport();
log.showButton(true);
}
diese showButton Methode delegiert einfach an die setVisible() eines Buttons.
Anfangs ist der Button nicht sichtbar, und nachdem doImport() abgearbeitet wurde (läuft nicht in einem neuen Thread) wird der Button angezeigt. Also so wie man es erwartet.
ABER: Wenn er erstmal sichtbar ist und dieses Event wird wieder ausgelöst, verschwindet er nicht bis doImport() fertig ist. So als würde die erste Zeile in der handleEvent() nicht drin stehen.
Ich befürchte ja ihr kommt schon wieder mit asynch/syncExec usw, was bisher bei mir IMMER zu ner Exception geführt hat aber wer weiss
Ich versteh das Konzept von SWT da eh noch gar nicht. zB in der doImport() werden diverse setText()-Aufrufe auf ein Label gemacht, und die Änderung sieht man auch on-the-fly, d.h. diese Events kann er nicht hinter die handleEvent-Methode schieben - die werden sofort ausgeführt! Aber wieso geht dann das hier nicht...
Danke für eure Hilfe!
Zuletzt bearbeitet: