Java - 同一窗口上的另一个JFrame

时间:2012-02-05 07:54:38

标签: java swing jframe jinternalframe

我想要的是创建一个新的JFrame,保持我当前的JFrame可见,但不创建一个新的窗口/程序。我无法解释清楚,所以这是我的意思的图片:

http://screensnapr.com/e/mkCMlm.png

很抱歉,如果这有任何混淆。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:5)

您可以尝试http://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html

您也可以尝试使用对话框而不是新窗口的框架。

答案 1 :(得分:2)

如果我理解正确你想要JInternalFrame,它是swing中的一个特殊组件,它位于名为Desktop的Container中。所以如果你想要这样的行为:

enter image description here

您肯定需要在JFrame中包含一个名为JDesktopPane的容器,然后您可以在此容器中添加JInternalFrame,如下所示:

 MyInternalFrame frame = new MyInternalFrame();
    frame.setVisible(true);
    desktop.add(frame);
    try {
        frame.setSelected(true);
    } catch (java.beans.PropertyVetoException e) {ex.printStackTrace();}

有关详细信息,请参阅official oracle documentationJava2SE code samples