JFrame com modal?

Estou precisando fazer que o JFrame se comporte como um JDialog, ou seja. Que chame outro JFrame e segure o anterior até receber a resposta.
Queria que uma tela de Cadastro chamasse outra e esperasse receber o novo cadastro.

[quote=Two_]Estou precisando fazer que o JFrame se comporte como um JDialog, ou seja. Que chame outro JFrame e segure o anterior até receber a resposta.
Queria que uma tela de Cadastro chamasse outra e esperasse receber o novo cadastro.[/quote]
Se entendi bem o q vc quer
no seu método construtor é só dar um

e no actionPerformed de seu JButton

[code]private void jbtn_xActionPerformed(java.awt.event.ActionEvent evt) {

       suaclasse x = new suaclasse();
       x.setVisible(true)
        dispose();// caso queira fecar a classe anterior


   
}[/code]

Você pode utilizar o padrão de projeto Observer que foi discutino no post:

http://www.guj.com.br/java/229672-observer--hibernate--swingbean/1

[quote=barbon]Você pode utilizar o padrão de projeto Observer que foi discutino no post:

http://www.guj.com.br/java/229672-observer--hibernate--swingbean/1[/quote]

Pelo que conheço do padrão observer isso não bloquearia o acesso a o JFrame Pai, não estou certo?

[quote=Rodrigo_JDeveloper][quote=Two_]Estou precisando fazer que o JFrame se comporte como um JDialog, ou seja. Que chame outro JFrame e segure o anterior até receber a resposta.
Queria que uma tela de Cadastro chamasse outra e esperasse receber o novo cadastro.[/quote]
Se entendi bem o q vc quer
no seu método construtor é só dar um

e no actionPerformed de seu JButton

[code]private void jbtn_xActionPerformed(java.awt.event.ActionEvent evt) {

       suaclasse x = new suaclasse();
       x.setVisible(true)
        dispose();// caso queira fecar a classe anterior


   
}[/code]

O JFrame não possui esse Método.

[/quote]

me desculpe , me confundi
setModal só pode ser usado com JDialog

Porque não pode usar JDialog?

Eric,
Imagine uma aplicação 100% jDialog…
Estranho né? prefiro estender o JFrame e criar um método novo.
o JDialog não foi feito para ser como se fosse uma janela de cadastro não…

Use JDialogs. Não tem como fazer isso com o JFrame. Na verdade, é exatamente o que diferencia um de outro.
Não tem como simplesmente estender e inserir o comportamento modal num JFrame.

E não sei de onde você tirou que o JDialog “não foi feito para ser uma janela de cadastro”.
Ele é só uma janela, você faz dela o que quiser.

Concordo com o que o Vini falou.

E a aplicação não precisa ser 100% JDialog. O que acho mais interessante é ter um JFrame como tela principal e para o restante usar JDialogs, que terão a tela principal como owner e poderão ser modal ou não.

Eric,
JDialog até onde sei não sofre influencia de look and feel, isso seria um pouco constrangedor caso precisasse um dia mudar o layout

Sofre sim, normalmente.

Muito obrigado @ViniGodoy e @Eric Yuzo.
Pela ajuda, usarei o JFrame mesmo.

post duplicado

se insiste mesmo em usar frame, pode fazer como fiz… cria uma interface controladora que armazena referencia de todos os frames que vc cria no seu sistema… então vc tem controle total sobre todos os frames no seu sistema… vc pode limitar qtdade de frames simultaneos, ter controle sobre quem eh pai de quem etc…

[quote=redr4gon]se insiste mesmo em usar frame, pode fazer como fiz… cria uma interface controladora que armazena referencia de todos os frames que vc cria no seu sistema… então vc tem controle total sobre todos os frames no seu sistema… vc pode limitar qtdade de frames simultaneos, ter controle sobre quem eh pai de quem etc…
[/quote]
Isso eu já faço.

Estou enfrentando esse problema. Tenho a tela de cadastro de Chuvas. que possui um campo ComboBox com auto complete do tipo Fazenda. ao usuario digitar um nome de uma fazenda que nao possui no combobox(ele é editavel) aperece um JOptionPane perguntando se quer cadastrar essa nova fazenda, chamando em modo “Modal” a nova tela de cadastro e, ao retornar repassa para a tela anterior(Chuvas) essa fazenda.

O problema está que em a tela ser do tipo Jframe ou JDialog.
Jframe tenho a vantagem de possuir os botões de maximizar e minimizar, além dela ficar(icone) na barra de tarefas.
JDialog possui a vantagem de ser Modal.
AI fica minha duvida na utilização.

então… esse controle q eu tenho de frames, faço um “modal manual”… da pra usar tudo frame no projeto se quiser…

mas no seu caso ae, eh JDialog mesmo… usar frame nesse caso seria gambiarra…

o q vc pode fazer eh usar o mesmo painel do seu cadastro na dialog… dae sim…

é…gostei de sua idéia!