Desabilitando e habilitando um jFrame

4 respostas
R

Olá a todos.

Estou desenvolvendo uma aplicação em JAVA (ainda sou leigo em Java) com uma interface gráfica usando o SWING. Estou usando o NetBeans como builder.

Só que estou com um problema que parece fácil de resolver mas não achei nada sobre esse assunto na Internet.

Eu tenho dois jFrames montados. O primeiro é o inicial ou seja, quando eu inicio a aplicação, ele será aberto automaticamente. Até aí está funcionando beleza. Porém há um botão comum no jFrame inicial que quando eu clico nele, o outro jFrame deve aparecer e esse jFrame anterior com o botão deve ser travado, para evitar que o usuário volte nele.

Assim, quando o usuário terminar de processar o segundo jFrame, ele clica em um botão fechar no segundo jFrame e volta para o primeiro, habilitando-o novamente.

Eu consigo fazer tudo isso, menos, a parte de habilitação do primeiro jFrame.

Segue um pedaço do código que eu fiz.

Na ação do botão que abre o segundo jFrame, eu coloquei isso:

formInserirProcesso jFrame2 = new formInserirProcesso();
        
        jFrame2.setVisible(true);
        this.setEnabled(false); //Desabilitando a janela atual.

Agora, quando eu fecho o jFrame2, como eu habilito novamente o primeiro jFrame?

Obrigado

4 Respostas

thiago.correa

Ao invés disso use o JInternalFrame ou JDialog!

[edit]
Se não puder utilizar a sugestão acima, uma outra maneira seria ao chamar o seu segundo frame, passar como parâmetro um atributo “parent”, daí você tem a referência para a janela pai. Daí você teria acesso aos atributos e métodos da classe pai.
[/edit]

R

Ok!

Irei tentar.

R

Consegui utilizando o jInternalFrame.

Não cheguei a tentar com o jDialog, porém creio que daria certo do mesmo jeito.

Agora uma dúvida, como eu tenho vários formulários no estilo desses, eles ficarão todos “embutidos” em um único jFrame. Isso é normal?

thiago.correa

Sim, é para isso que serve o JInternalFrame, é como se fosse uma “janela” do Word e dentro da mesma, você tem várias “janelas-filhas” (ou documentos, como preferir chamar).

Criado 22 de dezembro de 2006
Ultima resposta 22 de dez. de 2006
Respostas 4
Participantes 2