Boa noite Pessoal…
Aos interessados, muito obrigado pela atenção e pela ajuda. Finalmente consegui fazer o que queria. Fica então, armazenado a solução para que eu e quem mais precisar possamos consultar.
No Formulário principal (onde tem o JDesktopPane), faça da seguinte forma:
public void listarClientes() {
if (frmListaClientes == null) {
frmListaClientes = new frameListarClientes(theDesktop);
getTheDesktop().add(frmListaClientes);
frmListaClientes.setVisible(true);
}else if(!frmListaClientes.isVisible()){
frmListaClientes = null;
listarClientes();
}
}
Onde:
Ou seja, quando for chamar o primeiro JInternalFrame passe como parâmetro o seu JDesktopPane.public javax.swing.JDesktopPane theDesktop;
No primeiro JInternalFrame, basta fazer um construtor que receba o parâmetro:
public frameListarClientes(JDesktopPane theDesktop) {
this.desktop = theDesktop;
initComponents();
}
E para chamar o segundo JInternalFrame faça da seguinte forma:
public void novoCliente() {
if (formCadastroCliente == null) {
formCadastroCliente = new formCadCliente();
desktop.add(formCadastroCliente);
formCadastroCliente.setVisible(true);
}else if(!formCadastroCliente.isVisible()){
formCadastroCliente = null;
novoCliente();
}
}
Onde “desktop” é o meu JDesktopPane do formulário principal que foi passado para este primeiro JInternalFrame como parâmetro.
No mais… É isso! Abraços a todos.