public void abrirTelaInicio() {
jDesktopPane1.removeAll();
Inicio telaInicio = new Inicio();
jDesktopPane1.add(telaInicio);
telaInicio.setVisible(true);
}
Ao executar este método na classe em que foi criado (Menu), o método funciona perfeitamente, porém ao invocar este método em outra classe chamada AtualizarFicha, o método não funciona e deixa a tela preta, conforme imagem abaixo:
O método dispose da classe Window libera todos os recursos, todos o objetos filhos, ou seja, os recursos para o componente que o chama são destruídos. Logo, você deve rever a lógica da sua tela ou chamar o dispose em um outro momento, depois de certa condição.
Se a chamada do método dispose acontece no JInternalFrame, então o método dispose pertence ao próprio componente. Nesse caso, dispose tona o componente invisível, desselecionado e o fecha. Esse método dispara o evento INTERNAL_FRAME_CLOSE.
Tirei o método dispose(), porém mesmo assim não deu certo, a tela não fica mais preta, porém ao executar o método, não gera nenhuma ação, ele não abre o JInterfalFrame Inicio.