2 JFrames

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:

  1. Em vez de JFrame, use JDialog. O JFrame e usado como formulario principal.
  2. Passe no construtor do JDialog o formulario principal, vai ficar mais ou menos assim:

...
super(principal);
this.setModal(true);
....