Criei uma programa que um JFrame chama outro através de um evento de botão, quero saber como faço para o JFrame q vai abrir por cima só fechar quando clicar no botão fechar, ou seja ele não fica minimizado quando eu clico na janela q está por baixo. obrigado!
Ola,
Nos outros frames que o frame principal abrir… nao use javax.swing.JFrame, use javax.swing.JDialog, e passe o seu frame principal como parametro no construtor, e sete o JDialog para ficar modal. Isto resolvera o problema dos frames.
Ola… deixa eu ver c entendi…
tu tem um frame1 ai num evento num botao dele tu instancia outro frame e isso ? agora tu quer deixar qual frame modal ?
Bem, se voce estiver trabalhando com JInternalFrame, ele nao tem como ficar modal, para ele fechar quando vc clicar no “x” basta usar this.setDefaultCloseOperation(JFrame.DISPOSE)
. Caso voce esteja trabalhando com JFrame, o ideal e voce fazer duas coisas:
- Em vez de JFrame, use JDialog. O JFrame e usado como formulario principal.
- Passe no construtor do JDialog o formulario principal, vai ficar mais ou menos assim:
...
super(principal);
this.setModal(true);
....