assertj / assertj/assertj-swing

IllegalThreadStateException in EDT

Open
#241 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
121
Forks
52
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.