2014-12-23 5 views
0

У меня есть JInternalFrame FRMCadUsuarios, который вызывает другой JInternalFrame  FRMCadNiveisAcesso, когда я нажимаю _ от своего JInternalFrame  FRMCadUsuarios. Но я хочу проверить, открыт ли FRMCadNiveisAcesso в JDesktopPanel, и если это так, я хочу закрыть его и открыть новый, нажав на JInternalFrame FRMCadUsuarios button.Закрыть JIternalFrame, если он открыт

Мне нужно закрыть, если он уже открыт и открыть новый, когда нажимаем на FRMCadUsuariosJInternalFrame, потому что они открываются по-разному.

Когда я открываю JInternalFrame FRMCadNiveisAcesso главным JFrame он открывает путь, и когда я открываю, нажав на 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); 
Смежные вопросы