I use a great tool for this: SwingExplorer. It allows you to inspect Swing components, see how they are drawn, detect EDT violations, and detect EDT hangs. Basically, you enter a duration value in milliseconds, and then play with your application. When the EDT freezes longer than this duration, the freeze is registered in the user interface of the tool.
The official site is https://swingexplorer.dev.java.net , but it seems that at the moment I'm writing this answer. You can find the plugin for Eclipse and NetBeans, and you can also find swingexplorer in the maven repository if you use maven (sorry, I can not find the link at the moment)
At least the repository is still available: cvs -d :pserver:guest: guest@cvs.dev.java.net :/shared/data/ccvs/repository co swingexplorer
Edit
I looked at the source code of the Swing explorer, and it seems like they wrote a custom EventQueue to test the behavior of the EDT. The code seems to be linked to another project, SwingHelper .
Edit 2
The project site will soon return to http://java.net/projects/swingexplorer
source share