[Duvida]Fazer com que usuário interaja apenas com a janela atual!

Pessoal boa tarde, to ralando pra fazer um sistema de controle de estoque e surgiu uma duvida em relação ao mesmo.

No meu projeto eu tenho um formulario principal como o Menu do programa que é composto apenas de botões, e estes botões levam o usuario a Sub Menus no meu programa. o Problema é seguinte:

Eu estou no menu e clico no botão clientes, dai abre uma nova janela pra mim, com o menu clientes, porém se eu quiser eu ainda posso mexer nos botoes do menu principal abrindo outras janelas, ou ate mesmo a mesma janela diversas vezes.

Como que eu faço pra travar o usuario naquele formulario atual? Por exemplo, o cara está no Menu, e clica no botao, dai abre a janela do menu clientes, como eu faço pra ele ter acesso apenas a esta janela menu clientes? Fazendo com que ele volte pro menu só se ele fechar a janela atual, ou preencher algum formulario especifico?

Pesquise sobre janelas modais no Java.

Faça o construtor do MenuCliente(SubMenu) receber o Menu(Meu Principal) como parâmetro.

Faça a classe MenuCliente implementar a classe WindowListener

implemente os métodos:

public void windowClosed(WindowEvent e){ //Dê um setEnable(true) ou setVisible(true) na intancia do menu vinda do construtor; }

public void windowOpened(WindowEvent e){ //Dê um setEnable(false) ou setVisible(false) na intancia do menu vinda do construtor; }

Dai toda vez que a janela do subMenu aparecer ela vai esconder ou desabilitar o menu principal e quando ela for fechada ela vai mostrar novamente o menu.