如果JInternalFrame已打开,请将其关闭

时间:2014-12-23 16:04:54

标签: java swing jinternalframe

当我点击JInternalFrame FRMCadUsuarios中的_时,我有一个JInternalFrame  FRMCadNiveisAcesso来调用另一个JInternalFrame  FRMCadUsuarios。但是我想检查FRMCadNiveisAcesso中是否已JDesktopPanel已打开,如果是,我想关闭它并在点击JInternalFrame FRMCadUsuarios button时打开一个新的。

我需要关闭它,如果它已经打开并在点击FRMCadUsuarios JInternalFrame时打开一个新的,因为它们的打开方式不同。

当我通过主JInternalFrame FRMCadNiveisAcesso打开JFrame时,它会打开一种方式,当我通过点击JInternalFrame FRMCadUsuarios打开时,它会以另一种方式打开,因为它会捕获变量{{1} }。

JInternalFrame FRMCadUsuarios

1 个答案:

答案 0 :(得分:0)

创建FRMCadNiveisAcesso的静态变量。 当你为FRMCadNiveisAcesso初始化一个对象时(通过Main frame或JInternalFrame _ FRMCadUsuarios)将该对象存储在静态变量中。

在为FRMCadNiveisAcessoe创建新对象之前(在FRMCadUsuarios中单击按钮时)检查静态对象是否为null,如果不为null,则处置该帧并创建新帧

sudo代码 写入按钮动作列表器

if (staicObjectOfFrame != null)
{
staicObjectOfFrame.dispose();
}
staicObjectOfFrame=new FRMCadNiveisAcesso();
staicObjectOfFrame.setvisble(true);