Java - Evitar que mais de uma frame abra

Olá pessoal, andei pesquisando muito na internet como evitar que mais que um Jframe se abra enquanto o atual ainda estiver aberto. Procurei muito mas ainda continuo sem compreender.

No meu programa eu tenho meu frmPrincipal (minha tela principal do programa), tenho 4 botões e um desses botões se chama Alunos. Ao clicar nesse botão eu chamo uma Jframe (frmAluno). Quando essa tela está aberta, é possível burlar o programa tipo, deslogar do sistema e deixar essa tela aberta ou abrir a mesma tela varias vezes ou abrir diversas telas. Queria que isso não ocorresse, ou seja, ao abrir o frmAluno que a tela ficasse focada para que nenhuma outra frame possa ser aberta enquanto eu não fechar a minha frmAluno. Tentei pesquisar esse lance de Jdialog mas fico confusa. tentei botar :
if frmAluno.setVisible(true) {
frmPrincipal.setVisible(false)
}

Acho que to inventando absurdo. Queria uma ajuda. Fico no aguardo. Obrigada pela atenção

com jframe isso não é possivel, ele não possue esse comportamento, oque você precisa nesse caso é um JDialog usando:

seuJDialog.setModal(true);

Então eu deve deixar de usar o jframe e usar o JDialog ? porque se resolver meu problema estou disposta a fazer essa mudança. Ainda bem que você me disse que não dá para fazer usando Jframe porque eu estava tentando muita loucura aqui. Vou tentar então um pequeno teste bobo fazer do zero e volto para dar um feedback. obrigado :slight_smile:

1 curtida

Eu criei Form Jdialog. So que quando eu fazia isso por exemplo:

frmAluno frm = new frmAluno();
frm.setVisible(true);

abria a tela quando eu clicava no botão. agora não abre mais. Qual o comando que substituiu isso quando eu passei a usar JDialog ?

1 curtida

consegui obrigada pela ajuda.

1 curtida