如何在Java小程序中打开模式对话框?
我正在尝试在 Applet
前面显示一个模式对话框。
我当前的解决方案如下所示获取根框架:
Frame getMyParent() {
Container parent = getParent();
while (!(parent instanceof Frame)) {
parent = ((Component)parent).getParent();
}
return (Frame)parent;
}
并按如下方式创建对话框:
public OptionsDialog(MainApplet applet, boolean modal) {
super(applet.getMyParent(), "options", modal);
// ....
然而,尽管模态行为正常工作,但通常会在框架下方显示模态对话框。
如何解决这个问题?
理想情况下,这应该适用于 Java 版本 1.5 及更高版本。
I'm trying to display a modal dialog in front of an Applet
.
My current solution fetches the root frame like so:
Frame getMyParent() {
Container parent = getParent();
while (!(parent instanceof Frame)) {
parent = ((Component)parent).getParent();
}
return (Frame)parent;
}
And creates the dialog as follows:
public OptionsDialog(MainApplet applet, boolean modal) {
super(applet.getMyParent(), "options", modal);
// ....
However often this shows the modal dialog below the frame, though the modal behaviour works correctly.
How can this be fixed?
Ideally this should be for Java versions 1.5 and above.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Frame f =(Frame)SwingUtilities.getAncestorOfClass(Frame.class,parentWindow);
新的 JDialog(f,true);
(来源=http://kb.trisugar.com/node/7613)
适用于parentWindow = sun.plugin2.main.client.PluginEmbeddedFrame
Frame f =(Frame)SwingUtilities.getAncestorOfClass(Frame.class,parentWindow);
new JDialog(f,true);
(source = http://kb.trisugar.com/node/7613)
works for parentWindow = sun.plugin2.main.client.PluginEmbeddedFrame
使用 null 代替
applet.getMyParent()
Use null insterad of
applet.getMyParent()