gpt4 book ai didi

java - 如果用户单击 IE Pane ,则 IE 中的模态对话框会隐藏在 IE 后面

转载 作者:行者123 更新时间:2023-12-04 07:12:30 27 4
gpt4 key购买 nike

我必须编写一个显示密码对话框的小程序。问题是对话框设置为始终在顶部,但是当用户单击 IE 窗口时,对话框仍然隐藏在 IE 窗口后面。并且由于对话框是模态的并且保持全部 IE 线程 IE Pane 不会刷新并且对话框窗口仍然绘制在 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);

最佳答案

你对 parent 使用什么论点?

如果您使用 Applet 的父级,您的运气可能会更好。

javax.swing.SwingUtilities.getWindowAncestor(theApplet)

使用 getWindowAncestor 将跳过小程序父级(getRoot(component) 将返回小程序)。至少在某些版本的 Java 中,有一个相当于 IE 窗口的框架。天啊。

关于java - 如果用户单击 IE Pane ,则 IE 中的模态对话框会隐藏在 IE 后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73000/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com