Boa tarde…
Estou com um problema já conhecido mas gostaria de saber de vocês qual a melhor forma de corrigir ele.
Seguinte atualmente meu programa esta assim:
ação do botão
private void jmiCadPaisesActionPerformed(java.awt.event.ActionEvent evt) {
ifrmCadPais CadPais = new ifrmCadPais(); //instancia o internalframe
comum.ChamaInternalFrame(CadPais, jdpMain);
}
método chamainternalframe, existe para centralizar e permitir que a janela seja “fechavel”
public void ChamaInternalFrame(JInternalFrame ifrm, JDesktopPane jdp){
jdp.add(ifrm); //adiciona o painel ao desktop
int lDesk = jdp.getWidth(); //pega a largura do desktop
int aDesk = jdp.getHeight(); //pega a altura do desktop
int lIFrame = ifrm.getWidth(); //pega a largura do iternalframe
int aIFrame = ifrm.getHeight(); //pega a altura do internalframe
ifrm.setLocation(lDesk / 2 - lIFrame / 2, aDesk / 2 - aIFrame / 2); //seta a localização do internalframe
ifrm.setClosable(true); //seta o internal frame como possível de ser fechado
ifrm.setVisible(true); //coloca o internalframe visível
}
O Problema é que toda vez que aciono o botão ele instancia um novo frame, beleza, isto é obvio pois estou instanciando ele duas vezes.
Agora a solução que pensei mas nao consegui implementar seria testar se já esta instanciado. Mas como eu faria isto?