Я использую отличный инструмент для этого: SwingExplorer. Он позволяет вам проверять компоненты Swing, видеть, как они рисуются, выявлять нарушения EDT и обнаруживать зависания EDT. По сути, вы вводите значение длительности в миллисекундах, а затем играете с вашим приложением. Когда EDT зависает дольше, чем это время, зависание регистрируется в пользовательском интерфейсе инструмента.
Официальный сайт - https://swingexplorer.dev.java.net,, но, кажется, он не работает в тот момент, когда я пишу этот ответ. Вы можете найти плагин для Eclipse и NetBeans, а также найти swingexplorer в репозитории maven, если вы используете maven (извините, на данный момент я не могу найти ссылку)
По крайней мере, хранилище все еще доступно: cvs -d :pserver:guest:guest@cvs.dev.java.net:/shared/data/ccvs/repository co swingexplorer
Редактировать
Я посмотрел исходный код проводника Swing, и оказалось, что они написали пользовательский EventQueue
для проверки поведения EDT. Код, похоже, связан с другим проектом, SwingHelper .
Редактировать 2
Сайт проекта скоро вернется на http://java.net/projects/swingexplorer