Since google investigation did not bring any results except this we were convinced it should be our fault. After several hours of checking swing calls outside of the evnt dispatch thread, checking for undisposed dialogs and hunting down modal dialogs we found the following two statements.
dialog.setVisible(true); dialog.setModal(true);Do you see the problem? Neither did we at first. And since the code had worked before we did not think the order of these two statements would be the problem.
In fact it does not make much sense to set a dialog to modal after making it visible, but still these two lines were the cause of the main window losing focus, not reacting to input events any more, and for the user being unable to reactivate the main window. To the user this looks like a freeze of the application.
So now, after several hours of debugging, we know that we must call setVisible(true) after setModal(true)!