Estou com um problema semelhante.
Estou implementando um módulo para captura de foto dos funcionários da empresa, então eu tenho que adicionar as funções da SDK que controla a câmera direto no swing das janelas.
Para isso, criei um form. Um botão na janela Usuário chama um processo que chama esse form.
Eu consegui instanciar o objeto MUser com o ID da janela anterior(Usuário) utilizando o WindowNo. Funciona legal, mas se forem abertas outras janelas antes de chamar o form da foto esse WindowNo acaba se perdendo e não funciona.
O motivo disso é óbvio, pois vamos supor que ao eu entrar no sistema abri logo a janela “Usuário”, então o WindowNo dela é 2. Se em seguida eu abrir o form, o WindowNo do form é o 3. Então é só eu pegar o WindowNo-1 do form que estarei pegando o valor da janela usuário.
Mas em outro caso, acessei o sistema e abri a Usuários(WindowNo = 2). Em seguida abri outra janela, Produto por exemplo(WindowNo = 3). Agora se eu voltar à janela Usuário e abrir o form, ele vai ser aberto como WindowNo=4. Se continuar referenciando ao anterior(WindowNo-1) estaremos pegando a janela Produto(3) e não a usuário(2).
Tem como contornar isso? Ou existe alguma outra opção melhor?