以与JFrame相同的模式打开JInternalFrame

时间:2013-09-30 12:35:01

标签: java swing jframe jinternalframe

我有一个JFrame,它还有4个JInternalFrames。从JFrame我有链接打开这些JInternalFrame中的任何一个。我只是想问有没有办法,如果我在最大化模式下打开JFrame,那么所有其他内部框架也将在最大化模式下打开。如果JFrame没有处于最大化模式,那么其他人也不应该以最大化模式打开。

感谢您抽出宝贵的时间。

我使用了setMaximum()但现在我又面临一个问题。如果我连续打开内部帧然后他们 所有都将以最大化模式打开,这很好,因为我的JFrame也处于最大化模式。但是一旦我关闭最新打开的帧,它们都将处于默认大小而不是最大化模式。

这里的问题是,在此之后,当我单击任何内部框架时,他们 将变得最大化。如果我单击恢复按钮然后再次单击其他内部框架他们都会 以默认大小打开而不是最大化模式,即如果我单击最大化按钮然后单击其他内部 它们以最大化模式打开,如果我单击“恢复”按钮,它们将以默认大小打开。

//内部框架第一次打开时

if (isNewEditor)

{

((GenericEditor)editorFrame).setQFTestName(((JInternalFrame)editorObject).getTitle());
                editorFrame.setSize(defaultWidth, defaultHeight);
                editorFrame.setVisible(true);
                addFrameToDesktop(editorFrame); // adding to JDesktopPane
              editorFrame.setMaximum(true);
              editorFrame.setSelected(true);
              editorFrame.moveToFront();
}

1 个答案:

答案 0 :(得分:0)

JInternalFrame有一个setMaximum(...)方法。 JFrame有getExtendedState()方法。

创建并显示内部框架时,您可以查询框架的状态,并根据需要将内部框架设置为最大。