Oi pessoal, tudo bem?
Estou com uma duvida aqui, como que eu faço para impedir que o usuario clique em qualquer outra coisa alem da janela que eu estou definindo pra ele.
Por exemplo: tenho minha janela principal, e quando o usuario clica em “login” abre a janela de login pra ele.Eu quero que ele não consiga clicar em qualquer outro botão da janela principal enquanto ele não concluir o login.
Coloquei uma print em anexo mostrando minhas janelas, a principal e a de login
A janela de login não deve ser um JFrame e sim um JDialog modal. Só isso é necessário.
Assim?
public class minhaJanelaAuxiliar extends JDialog
não funcionou, eu ainda consigo clicar em qualquer coisa da janela principal.
OBS: o actionlistener das duas janelas está na janela principal
Você precisa definir o JDialog como modal no construtor. Algo assim:
[code]public class minhaJanelaAuxiliar extends JDialog{
public minhaJanelaAuxiliar(){
super();
this.setModalityType(ModalityType.APPLICATION_MODAL);
}
}[/code]
Abraço.
Como o colega disse acima, vc pode usar o dialog modal
seuDialog.setModal(true);
Ele sendo modal vai bloquear a aplicação depois que ele fica visível
Tem que ter um certo cuidado, pois se vc tiver algum trecho de código no método onde vc exibe o dialog, este só sera excutado depois que o dialog for fechado.