Controle de janelas

4 respostas
D

Oi pessoal,eu estou com uma duvida,quero fazer com que a janela principal de minha aplicacao fique desabilitada se outra subjanela estiver aberta,porem nao estou conseguindo
Vamos supor que eu clico no botao para abrir o cadastro de clientes,ao clica a janela principal deve estar desabilitada,ou seja,ela nao pode estar habilitada para ser fechada,somente dps que eu fechar o cadastro de clientes q a aplicacao vai ser habilitada.Bom é isso

4 Respostas

rodrigo.bossini

Faz a janela principal “sumir” com um setVisible (false).

Passa ela como parametro pro construtor da outra janela…

E quando você fechar a outra janela, da um setVisible (true) na janela principal

betoslayer

acho q melhor seria usar setEnabled(false) uma vez que ele nao quer ocultar a janela e sim apenas desabilitá-la

renatoramiro

Seria mais fácil se voce utilizasse um JDialog. Porque voce não precisaria ficar setando nem o visible nem o enabled no “braço”.

Dá uma pesquisada em JDialog, vai te ajudar muito.

Flw!

Marky.Vasconcelos

Se eu fosse voce eu receberia no construtor a instancia da janela pai e bloquea-se ela e quando fechar habilitala denovo

public ConstrutorFilha(JComponent pai){
this.pai = pai;
pai.setEnabled(false);
}

//Caso voce use o setVisible(false) apra sumir
@Override
public void setVisible(boolean aFlag){
super.setVisible(aFlag);
if(pai != null)//Necessario.. pois voce ainda poderia instanciar essa classe passando null como argumento caso não queira bloquear nenhuma outra janela
pai.setEnabled(true);
}
//Caso voce feche ela com o Dispose
@Override
public void dispose(){
super.dispose();
if(pai != null)//Vide explicação acima.
pai.setEnabled(true);
}
Criado 7 de dezembro de 2008
Ultima resposta 8 de dez. de 2008
Respostas 4
Participantes 5