2014-12-23 64 views
0

我有一個JInternalFrame FRMCadUsuarios,當我點擊我的JInternalFrame  FRMCadUsuarios中的一個_時,它會調用另一個JInternalFrame  FRMCadNiveisAcesso。但我想檢查FRMCadNiveisAcesso是否已在JDesktopPanel中打開,如果是,我想關閉它並在點擊JInternalFrame FRMCadUsuarios button時打開一個新的。關閉JIternalFrame,如果它打開

我需要關閉它,因爲它們打開的方式不同,因此在點擊FRMCadUsuariosJInternalFrame時已打開並打開新窗口。

當我由主JFrame打開JInternalFrame FRMCadNiveisAcesso其開路,當我點擊JInternalFrame FRMCadUsuarios打開它打開另一種方式,因爲它抓住的JInternalFrame FRMCadUsuarios的變量。

FRMPrincipalModulosAdmFinOper frmPrincipalModulosAdmFinOper = new FRMPrincipalModulosAdmFinOper(); 
if(frmPrincipalModulosAdmFinOper.getFrmCadNiveisAcesso() != null){ 
    frmPrincipalModulosAdmFinOper.getFrmCadNiveisAcesso().dispose(); 
} 
FRMCadNiveisAcesso frmCadNiveisAcesso = new FRMCadNiveisAcesso(painelx); 
painelx.add(frmCadNiveisAcesso); 
frmCadNiveisAcesso.setPosicao(); 
frmCadNiveisAcesso.setVisible(true); 
frmCadNiveisAcesso.getTxtUsuario().setText(this.txtUsuario.getText()); 

回答

0

創建FRMCadNiveisAcesso的靜態變量。 當您爲FRMCadNiveisAcesso(通過主框架或JInternalFrame _ FRMCadUsuarios)初始化對象時,將該對象存儲在靜態變量中。

和FRMCadNiveisAcessoe創建新的對象(在FRMCadUsuarios按鈕點擊)之前檢查是否靜態對象爲空或不是,如果不爲空,然後處理該幀,並創建新的

須藤代碼 寫裏面的按鈕動作聽者

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