我们在winform中嵌入的.Net webbrowser控件中托管Web应用程序。
当Web应用程序中的Java小程序显示模式对话框时,仅停用Web应用程序中的小程序区域。 (要求是firefox风格的模式)。
有没有办法检测webbrowser控件中的applet是否显示模式对话框? (或者,当一个java applet对话框打开时,获取一个窗口句柄?)
答案 0 :(得分:0)
使用一些JavaScript直接调用Java方法Window.getWindows()
以获取现有Window
个对象的数组。 (J)Frame
个对象和(J)Dialog
个对象都扩展为Window
。
请注意,AFAIR,每个小程序都会获得一个Frame
来包含它。因为屏幕上会有比窗口更多的“窗口”,所以你需要检查类型。
从JS反复以适当的间隔执行此操作,并且应该可以检测Java小程序生成的任何对话框。
或者,可能更容易扩展applet并添加一些额外的方法来进行上面列出的相同检查,然后调用JavaScript来通知已打开对话框。
答案 1 :(得分:0)
使用sun.plugin2.main.client.ModalityHelper.installModalityListener()。这将发出modalityPopped和modalityPushed的信号。
需要Java 6,并且可能仅适用于某些特定平台(范围尚未知)。