我必须编写一个提供密码对话框的小程序。问题是,对话框始终设置为最高,但是当用户单击IE窗口对话框时,仍然隐藏在IE窗口后面。并且由于对话框是模态的,并且保持全部 IE线程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指出我应该做一个窗口,而不是(空,帧,小程序)模式对话框的父。到initlialize父母这么好的方法是:
parent = javax.swing.SwingUtilities.getWindowAncestor(theApplet);
好吧,我做了一些像JOptionPane.getRootFrame。我会明天看第一件事情。 – 2008-09-18 18:38:02