我想要的是创建一个新的JFrame,保持我当前的JFrame可见,但不创建一个新的窗口/程序。我无法解释清楚,所以这是我的意思的图片:
http://screensnapr.com/e/mkCMlm.png
很抱歉,如果这有任何混淆。任何帮助表示赞赏。
答案 0 :(得分:5)
您可以尝试http://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html
您也可以尝试使用对话框而不是新窗口的框架。
答案 1 :(得分:2)
如果我理解正确你想要JInternalFrame,它是swing中的一个特殊组件,它位于名为Desktop的Container中。所以如果你想要这样的行为:
您肯定需要在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 documentation或Java2SE code samples