1

我有一个重要的 Java 小程序。它有一个菜单,并通过该菜单小程序显示一个扩展的对话框JDialog。使用 显示对话框setVisible(true)。当用户完成该对话框的工作时,对话框关闭(在按下“完成”按钮后)使用this.dispose().

现在,有一个奇怪的问题 - 小程序在 Firefox 中运行良好,即使在 IE 中但在 Chrome 中,当小程序显示其他(对话框)窗口时,该窗口显示在小程序后面。我必须单击应显示对话框的位置(将其放在前面)。如果我再次单击它(显示时),它将再次消失(转到背景)。按钮点击照常工作,但每当我点击弹出窗口本身(甚至是标题栏)时,它都会改变它的“可见”状态。

请问,有什么问题吗?如何解决该错误?

4

1 回答 1

4
// the applet will typically appear inside a Window, get a reference to it using:
Window parent = Window.getWindows()[0];
// use the window as the parent of a modal dialog.
JDialog dialog = new JDialog(parent);
dialog.setModal(true);
// ...
dialog.setVisible(true);
// won't be called until the applet is dismissed 
someJComponent.requestFocusInWindow();

嵌入在网页中的小程序总是会遇到模态和焦点问题。为了获得更好的用户体验,请使用Java Web Start自由浮动启动小程序,或者更好的是,使用 JWS 启动框架。

于 2012-05-24T11:48:05.420 回答