[RESOLVIDO] JDialog1 chamando outro JDialog2,apartir JDialog1

10 respostas Resolvido
java
J

Criei um JDialog1 e pretendo chamar outro JDialog2, pelo botao (btnNovo) que se encontra no JDialog1 ? ajuda-me porfavor

10 Respostas

T
J

tens razão só novato,ja actualizei,preciso de ajuda.

rodriguesabner
JDialog2 dialog2 = new JDialog2(new JFrame(), true);

O parâmetro booleano (true ou false) resumidamente significa que se for true, o software vai dar atenção apenas à uma janela, fazendo com que o resto fique bloqueado. Enquanto vc não fechar esse dialog2 as outras janelas ficam “travadas”.

F

O ideal seria você especificar o seu código para entendermos e adaptarmos a resposta para sua situação, mas imagino que seu código poderia ficar dessa forma:

btnNovo.addActionListener((ActionListener) new ActionListener() {

public void actionPerformed(ActionEvent e) {

JDialog dialog = new JDialog();

dialog.add(new JLabel(texto do JDialog));

dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

dialog.setTitle(Título);

dialog.setSize(300, 100);

dialog.setVisible(true);

}

});

Espero que isso resolva, e é sempre bom você colocar exemplos do seu código para melhor compreensão.

J

Filipecalda Obrigado por responderes as minhas dúvidas…

J

Orichimaru ,
esta instância que é JDialog2 dialog2 = new JDialog2(new JFrame(), true);
a minha dúvida é o seguinte : "jDialog1 tem um botão e este botão ainda não tem código ,a ideia é que este botão chama outro jDialog2…

antes eu tinha criado dois 2 jframe , chamei o outro jframe 2 apartir do jFrame 1, tinha usado a seguinte instância jframe2 "renomei produto " e chamei desta forma produto pr = new produto ();
funcionou a vontade.

Mas quando troquei jframe e usei outro form jDialgo não está aceitar na instância.
Produto pr =new produto (null, true

J

Filipecaldas,
esta instância que é JDialog2 dialog2 = new JDialog2(new JFrame(), true);
a minha dúvida é o seguinte : "jDialog1 tem um botão e este botão ainda não tem código ,a ideia é que este botão chama outro jDialog2…

antes eu tinha criado dois 2 jframe , chamei o outro jframe 2 apartir do jFrame 1, tinha usado a seguinte instância jframe2 "renomei produto " e chamei desta forma produto pr = new produto ();
setvisible (True) funcionou bem .

Mas quando troquei jframe e usei outro form que é o jDialgo não está aceitar na instância.

Produto pr =new produto (this , true); da erro  aceita (null , true);

SetVisible(true);

Não faz nada. Ou seja não chama!
rodriguesabner
Solucao aceita

Isso acontece pq o construtor do JDialog só aceita o JFrame como padrão, olha

public AlgumaCoisa(JFrame parent, boolean xx){
//super.......
}

SE vc estar como null, não vai aparecer nada mesmo. Vc pode fazer um construtor pra aceitar o JDialog:

public AlgumaCoisa(JDialog parent, boolean xxx){
//ai aqui tem aquele super(........);
}

E depois de vc criar esse novo construtor, vai precisar criar um construtor vazio, ou seja

private AlgumaCoisa(JFrame p, boolean xx){
}

Ou vc pode fazer igual eu mandei ali primeiro, chamar assim

AlgumaCoisa coisa = new AlgumaCoisa(new JFrame, true);
coisa.setVisible(true);
J

Obrigado pela ajuda vou experimentar agora!
desde já agradeço :clap:

J

Obrigadoooooooooo funcionouuu
orochimaru

Criado 29 de dezembro de 2019
Ultima resposta 31 de dez. de 2019
Respostas 10
Participantes 4