@Paolo well, perhaps you don't need to leave it. I may have some time to look at the project and implement the pump using SecondaryLoop. Cheers
Foxtrot could have an implementation based on SecondaryLoop, but this was not done. Rather than using SwingUtilities.invokelater(), you want to do this (did not try, just to give you an idea): Executor executor = ...; EventQueue queue = Toolkit.getDefaultToolkit().getSystemEventQueue(); SecondaryLoop loop = queue.createSecondaryLoop(); executor.execute(() -> { doWork(); loop.exit(); }); loop.enter(); Ciao!
Paolo, yes, Foxtrot does deep reflection on AWT classes. However, Foxtrot is now a bit out of date, it served a purpose back in the days of JDK 1.3. With JDK 1.7, a standard API for pumping AWT events has been added to the JDK, so applications should rely on that instead, see https://docs.oracle.com/javase/7/docs/api/java/awt/EventQueue.html#createSecondaryLoop(). Ciao!