Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.java > #13026
| Path | csiph.com!news.mixmin.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.xdsl-78-35-222-157.netcologne.de!not-for-mail |
|---|---|
| From | Patrick Roemer <sangamon@netcologne.de> |
| Newsgroups | de.comp.lang.java |
| Subject | Re: JUnit Test von JButton: Action wird nicht erkannt |
| Date | Wed, 20 Jul 2016 13:00:55 +0200 |
| Organization | news.netcologne.de |
| Distribution | world |
| Message-ID | <nmnll7$9uq$1@newsreader4.netcologne.de> (permalink) |
| References | <duo028Fb4qaU1@mid.individual.net> <nm8j8b$r9c$1@newsreader4.netcologne.de> <duqgrdFtso5U1@mid.individual.net> <nmbfkk$sk4$1@newsreader4.netcologne.de> <dv6mjhFqq9cU1@mid.individual.net> <nmlm94$vfk$1@newsreader4.netcologne.de> <dv7haoF2pteU1@mid.individual.net> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| Injection-Date | Wed, 20 Jul 2016 11:00:55 +0000 (UTC) |
| Injection-Info | newsreader4.netcologne.de; posting-host="xdsl-78-35-222-157.netcologne.de:78.35.222.157"; logging-data="10202"; mail-complaints-to="abuse@netcologne.de" |
| User-Agent | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.24) Gecko/20100411 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0 |
| In-Reply-To | <dv7haoF2pteU1@mid.individual.net> |
| Xref | csiph.com de.comp.lang.java:13026 |
Show key headers only | View raw
Responding to Christian H. Kuhn:
> Am 19.07.2016 um 18:59 schrieb Patrick Roemer:
>> Responding to Christian H. Kuhn:
>> In beiden Fällen entsteht *keine* happens-before-Beziehung zwischen
>> irgendwas.
>
> JETZT bin ich verwirrt.
>
> Ich war der Ansicht, bei
>
> commandA();
> SwingUtilities.invokeAndWait(() -> {commandB});
> commandC();
> SwingUtilities.invokeAndWait(() -> {commandD});
>
> könnte ich mich darauf verlassen, dass die Reihenfolge A-B-C-D
> eingehalten wird, sofern A und C nur auf dem gerade laufenden
> aufrufenden Thread arbeiten, während bei dem entsprechenden Aufruf mit
> invokeLater() lediglich sicher ist, dass A vor C (auf dem Hauptthread)
> und B vor D (auf dem Swing-EDT) ausgeführt wird?
Gemäß wall-time ist dem auch so. Damit ist aber noch nicht garantiert,
dass C die Auswirkungen von Aktionen in B auch sieht. Und *das* ist,
worum es bei happens-before-Beziehungen geht.
>> Und was ein #invokeAndWait() in einem
>> #actionPerformed() suchen könnte, will ich glaube ich gar nicht so genau
>> wissen... ;)
>
> Nix direktes. Warum das eher dämlich wäre, habe ich schon begriffen :-)
> Es gibt aber Methoden, die könnten theoretisch vom EDT aus aufgerufen
> werden, dann bräuchten sie kein invoke...(). Oder von irgendeinem
> anderen Thread. Dann brauchen sie invoke. Den Swing-EDT kann man
> feststellen.
Klingt schon fishy. Wenn eine Methode aus unterschiedlichen Kontexten
aufgerufen werden kann, sollte der Kontext sie schlicht nicht
interessieren müssen. Das #invoke...() gehört dann in eine Schicht, die
den Kontext kennt, z.B. eben ins Presentation Model. Und Aufrufe, die
darüber laufen, sollten dann eben immer aus einem non-EDT-Thread kommen.
> Die throw-Klausel hat man aber trotzdem, wenn man die
> Exception des invoke nicht fangen mag.
Warum sollte man das nicht mögen? Eine InvocationTargetException will
man eigentlich nicht weiterpropagieren. Und eine InterruptedException
sollte man auch möglichst lokal behandeln.
> Das kann auch eine beliebig lange
> Kette von Methodenaufrufen sein. Und wenn keine dieser Methoden etwas
> Sinnvolles mit der Exception aus invokeAndWait() anfangen kann, landet
> die irgendwan in actionPerformed().
Das sollte eigentlich nicht passieren. Abgesehen davon: Ich kann mich
nicht erinnern, #invokeAndWait() je (außer eben in Tests) eingesetzt zu
haben. (Allerdings habe ich auch nur kleinere Hobbyprojekte mit Swing
gemacht.) Üblicherweise will man #invokeLater(). Aber auch da muss man
sich natürlich über eventuelle Exceptions Gedanken machen.
Viele Grüße,
Patrick
Back to de.comp.lang.java | Previous | Next — Previous in thread | Next in thread | Find similar
JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-14 01:09 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-14 18:26 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-14 19:47 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 00:08 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-15 22:04 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 22:53 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 23:09 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-15 23:44 +0200
Countdown Timer Design (was: JUnit Test von JButton: Action wird nicht erkannt) "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-16 23:44 +0200
Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 12:44 +0200
Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 15:49 +0200
Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 17:03 +0200
Re: Countdown Timer Design "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 15:59 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 14:59 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 16:06 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-19 18:59 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 22:35 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt Patrick Roemer <sangamon@netcologne.de> - 2016-07-20 13:00 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-23 20:36 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-23 23:15 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt Wanja Gayk <brixomatic@yahoo.com> - 2016-07-19 23:02 +0200
Re: JUnit Test von JButton: Action wird nicht erkannt "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-20 12:33 +0200
GUI-Update über Swing-EDT (was: JUnit Test von JButton: Action wird nicht erkannt) "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 12:03 +0200
Re: GUI-Update über Swing-EDT Patrick Roemer <sangamon@netcologne.de> - 2016-07-15 22:43 +0200
Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 23:18 +0200
Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-16 15:24 +0200
Re: GUI-Update über Swing-EDT Patrick Roemer <sangamon@netcologne.de> - 2016-07-16 16:42 +0200
Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-16 23:05 +0200
Re: GUI-Update über Swing-EDT "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-17 16:02 +0200
csiph-web