# Action mehrmals klicken



## schuetzejanett (2. Sep 2007)

Hallo,

habe in meiner Eclipse RCP mehrere ActnKlassen (erben von Jface.Action) .

In dieser gibt es immer eine run() methode, welche ausgeführt ird, wenn der Nutzer einen Button klickt.
Was mich interessiert ist, was passiert, wenn der Nutzer mehrmals hinter einander den Button klickt. Und die Aufgae aer noch ar nicht aggearbeietet ist? Werden die späteren Klicks ignoriert, werden sie danach ausgeführt oder werden sie parallel ausgeführt. Mir wäre es ja am liebsten, wenn alle weiteren Aktionen danach ausgeführt werden. Aber der Nutzer soll nicht das gefühl haben, das die GUI hängt?

Funktioniert das automatisch so oder wie ist das?


----------



## HoaX (2. Sep 2007)

die action wird iirc im gui-thread aufgerufen, daher werden die actionen nacheinander abgearbeitet. wenn du nicht willst dass die gui hängt, dann starte einen passenden Job, die kannst du auch konfigurieren, dass diese nicht zeitgleich laufen


----------



## schuetzejanett (3. Sep 2007)

Ok danke


----------



## schuetzejanett (10. Sep 2007)

Ok, also die aktualsierung der gui, rufe ich jeweils im gui Thread auf. Je wie ich es benötige mit syncExec() oder asyncExec(). 

Jetzt würde ich aber trotzdem gerne och Jobs verwenden. Um bei einigen Aktionen sicherzustellen, das sie nicht hängen, aber nicht gleichzeitig ausgeführt werden.

Nur habe ich keine Ahnung wie das geht.

Also ich weiß wie ich einen Job, definiere und starte. Aber was ich nicht weiß ist, wie ich test, ob dieser oder ein anderer von minen selbst definierten schon läuft um so die aktion erst danach auszuführen. oder kann ich das gleichzeitige ausführen auch mit einem Befehl einer methode verhindern?


----------

