Elliott has taken the event queue concept in AWT and added a useful timer mechanism to see when events are taking too long to process. This is similar to the idea I talked about recently. I could see the next step in this being adding listeners instead of dumping a stack trace. This mechanism could be used to have listeners adjust their processing to be more asynchronous and to trigger less events on the event queue.
Automatically detecting AWT event dispatch thread hangs I mentioned Apple's "Spin Control" recently, which detects hung Cocoa applications. It doesn't work for Java applications because they're packed full of multithreaded goodness, and the main AppKit thread doesn't tend to get stuck. The problematic thread in a Java application is the AWT's event dispatch thread. Do too much work on that, and your GUI will become unresponsive.