パスワード ダイアログを表示するアプレットを作成する必要があります。問題は、ダイアログが常に一番上に表示されるように設定されているにもかかわらず、ユーザーが 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);