setModal não funciona

4 respostas
marcosslash

Olá pessoal,

estou com um probleminha e não estou conseguindo resolver:

estou fazendo um programa onde o usuário depois de escolher uma opção de uma janela principal (JFrame ) faz com que apareça uma outra janela JDialog com campos para serem preenchidos, quero que esta janela não permita o acesso a outra janela (aquela JFrame citada acima) enquanto estiver aberta sei que o método setModal do objeto JDialog faz isso mas não está funcionando, coloco ele como “true” a janela se abre normalmente mas quando clico na JFrame que está localizada atrás da JDialog, ela volta a ativa fazendo desaparecer a JDialog que não pode ser mais acessada…

Alguém tem uma idéia do que pode estar acontecendo???

Obrigado

4 Respostas

L

Tu tem que informar que o JDialog é filho do JFrame. No construtor do JDialog vc faz isso, lá vc seta isso e tb diz se o JDialog será modal ou não.

falou

igor_ti

Isso mesmo!
na pratica:

JDialog modal = new JDialog(meuJFrame, true);

pronto! :slight_smile:

[]'s Igor

brlima

Só não queira fazer assim neh:

JDialog dialog = new JDialog(MyFrame);
dialog.show();
dialog.setModal(true);

quando o correto seria

JDialog dialog = new JDialog(MyFrame);
dialog.setModal(true);
dialog.show();

flw!

Almeidaah

Olá amigo, se você não quer que o JFram volte a “ativa” antes da hora, extenda a outra classe à JDialog(que você já deve estar fazendo), e no construtor da clase herde o modal, ex:

public class meuDialog extends JDialog(Interface aInterface){//passando o jframe como parâmetro

super(aInterface, título da janela, true)

}
Criado 30 de janeiro de 2005
Ultima resposta 16 de nov. de 2010
Respostas 4
Participantes 5