This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Not really. Swing is a pretty open environment compared to a J2EE container. What I've found that works for me is to make the top-level container, usually a JFrame, a listener for a custom ExceptionEvent. When he receives one of these events the frame displays a dialog with an error message and a stack trace. The controller, which initially creates the frame, passes a reference around to all the interested classes in the guise of the interface ExceptionListener. Whenever an exception is caught they invoke the ExceptionListener method to report it. You will, of course, have to use some judgement on what to display. Let's say you wrote an editor and the user requests a file that doesn't exist. You'd want to catch the FileNotFound exception and display a dialog that prompts the user to either create a new file or choose a different one. I'd handle that through some other mechanism than the above, which I see as reporting fatal exceptions or exceptions that "shouldn't occur" via a catch-all exception handler.