Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

IllegalThreadStateException in EDT

Aperta
#241 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
java
Ambito
desktop, testing

Direzione di ricerca

Inizia riproducendo JTreeFixture.showPopUpMenu(2) dal contesto del test JUnit segnalato, quindi leggi in BasicRobot.java la parte relativa a waitForIdle e il percorso del menu popup di JTreeDriver.java/JTreeFixture.java nello stack trace. Il lavoro è concluso quando lo scenario del menu popup non solleva più IllegalThreadStateException durante l'esecuzione del test sull'EDT e il comportamento è verificato da un test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hi all,
(I opened this issues by mistake in assertj-core, too. Sorry for that).

the documentation says that the code using AssertJ should run in the EDT. I am running a JUnit test that actually runs in the EDT.

However, when invoking code like this on a JTreeFixture:
jtf.showPopUpMenu(2)
I am getting an exception

java.lang.IllegalThreadStateException: Cannot call method from the event dispatcher thread
at org.assertj.swing.core.BasicRobot.waitForIdle(BasicRobot.java:825)
at org.assertj.swing.core.BasicRobot.waitForIdle(BasicRobot.java:794)
at org.assertj.swing.core.BasicRobot.moveMouse(BasicRobot.java:538)
at org.assertj.swing.core.BasicRobot.moveMouse(BasicRobot.java:528)
at org.assertj.swing.core.BasicRobot.moveMouse(BasicRobot.java:522)
at org.assertj.swing.core.BasicRobot.focus(BasicRobot.java:292)
at org.assertj.swing.core.BasicRobot.focusAndWaitForFocusGain(BasicRobot.java:270)
at org.assertj.swing.core.BasicRobot.showPopupMenu(BasicRobot.java:889)
at org.assertj.swing.driver.JTreeDriver.showPopupMenu(JTreeDriver.java:676)
at org.assertj.swing.fixture.JTreeFixture.showPopupMenuAt(JTreeFixture.java:579)

Wait for Idle explicitely wants not to be run in the EDT. I tried running the code in a thread of its own but did not succeed. Any suggestions on how to tackle this problem would be most welcome.

Lingua principale
Java
Stelle
121
Fork
52
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di assertj/assertj-swing

Tutte le issue di assertj/assertj-swing

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.