2009-11-04 26 views
0

我有一个JInternalFrame窗口,当按下JButton时需要弹出一个模式对话框。起初,我尝试使用的JDialog,但是我发现JDialog的构造函数需要:Java Swing:JInternalFrame:需要一个对话框弹出

  1. 的JFrame
  2. 布尔模式

我试图传递的JInternalFrame它,但类型不匹配。

我应该在JInternalFrame中使用JDialog吗?如果我不指定所有者(即传递null),该怎么办?那有什么不对吗?

回答

1
SwingUtilities.getAncestorOfClass(Window.class, myButton) 

abvove方法将返回包含按钮的窗口。 一旦你拥有了它,你可以将它传递给对话框:)

EDIT1的构造函数: 我误解我想这个问题。你怎么能有一个JinternalFrame作为最顶层的窗口?

EDIT2: 此外,如果你传递null的JDialog constrcutor则默认情况下它使用一个共享的所有者即SwingUtilities.getSharedOwnerFrame()

+0

好吧,现在我要去尝试一下。作为旁注,这也意味着使用JDialog和JInternalFrame是正确的吗? – sivabudh 2009-11-04 04:54:56

+0

对不起,我不清楚。我有一个JFrame作为我最上面的窗口,其中包含一堆JInternalFrame。但该按钮属于JInternalFrame。 – sivabudh 2009-11-04 04:59:20

+0

好吧,我只是试了一下;我认为它工作正常。 (我还没有将JDialog的按钮连接到任何actionPerformed,但是当我按下我的JInternalFrame按钮时,我至少可以弹出一个对话框!)谢谢! – sivabudh 2009-11-04 05:05:36