アプレットは次のコードで構成されています。
public class TestApplet extends Applet {
public TestApplet() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JDialog dialog = new JDialog();
dialog.setContentPane(new JLabel("Hello"));
dialog.setSize(new Dimension(300, 200));
dialog.setModal(true);
dialog.setVisible(true);
}
});
}}
Windows 7 で実行されている InternetExplorer で開くと、機能します。ブラウザのタブを変更すると、ダイアログは常に前面に表示されます。
Red Hat Enterprise Linux Server リリース 6.3、Java 1.7.0_07-b10 で実行されている Firefox ESR 10.0.5 で開くと、すぐにブラウザ ウィンドウの背後に移動し、再度見つけるためにブラウザを最小化する必要があります。
モーダル ダイアログが常にアプレットの前面に表示されるようにするにはどうすればよいですか?
アップデート:
JDialog の作成を
JDialog dialog = new JDialog(javax.swing.SwingUtilities.getWindowAncestor(TestApplet.this));
違いはありません。