Ich verwende java.awt.Robot
für Integrationstests meiner Swing-Anwendung, aber ich habe Probleme, meine Aktionen in der richtigen Reihenfolge auszuführen. Wie kann ich dem Thread, der robot.mousePressed(...)
aufruft, sagen, dass er blockieren soll, bis Swing das Ereignis beendet hat? Anscheinend ist robot.setAutoWaitForIdle(true)
nicht gut.
Hier ist meine Demo. Ich erwarte den "Roboter fertig!" Nachricht immer nach "Aktion beendet zu blockieren.", aber stattdessen passiert es oft stattdessen zu früh.
%Vor%Ich benutze Java 1.6 auf Ubuntu.
vielleicht kann dieser Ihnen helfen, beachten Sie nicht in Java7 getestet
Sie können das in jedem der Schritte für isEventDispatchThread ()
testen %Vor%