Я должен написать апплет, который вызывает диалог пароля. Проблема в том, что диалоговое окно всегда должно быть сверху, но когда пользователь нажимает на окно IE, диалог все равно скрывается за окном IE. А поскольку диалоговое окно является модальным и содержит все потоки IE, панель IE не обновляется, а диалоговое окно все еще отображается поверх IE (но не обновляется). Это поведение сбивает с толку пользователей (они видят диалоговое окно поверх IE, но похоже, что оно зависло, поскольку не обновляется).
Так что мне нужен способ сохранить этот диалог поверх всего. Но любое другое решение этой проблемы было бы неплохо.
Вот код:
PassDialog dialog = new PassDialog(parent);
/* do some non gui related initialization */
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setAlwaysOnTop(true);
dialog.setVisible(true);
Разрешение: Как заметил @shemnon, я должен сделать окно вместо (null, Frame, Applet) родителя модального диалога. Итак, хороший способ инициализации родителя был:
parent = javax.swing.SwingUtilities.getWindowAncestor(theApplet);