[color=darkblue][size=13]Seguinte, por mais que existam vários tópicos sobre este assunto, não consegui aplicá-lo no meu caso, irei postar abaixo o código:
(Obs) Há classes que estão em pacotes diferentes.
[/size][/color]
[color=red]Classe Dialog que cria JDialogs:[/color]
package dialogs;
public class Dialog extends JDialog{
private static final long serialVersionUID = 1L;
//Construtor
public Dialog(String name, JPanel pane){
setTitle(name);
setSize(pane.getSize());
setLocationRelativeTo(null);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setContentPane(pane);
setModal(true);
setResizable(false);
setVisible(true);
}
}
[color=red]Classe que cria o JDialog:[/color]
package listeners;
public class MenuItemIncluir implements ActionListener{
public void actionPerformed(ActionEvent evt){
JPanel incluirPanel = new IncluirPane();
//Este é o JDialog que desejo fechar
new Dialog("Novo Produto ", incluirPanel);
}
} [color=red]Classe por onde desejo fechá-lo:
[/color]
package listeners;
public class BtnIncluirProduto implements ActionListener{
public void actionPerformed (ActionEvent evt){
//quero fechar o JDialog por aqui
}
}
[size=13][color=darkblue]A questão é, como isso seria possível? [/color][/size]
tente enviar seu JDialog para o form q deseja q o feche.
ex.
public class MeuDialog extends JDialog{
private DialogQueroFechar dialog;
private btnFecharDialog fecharDialog;
public void setDialogQueroFechar(DialogQueroFechar dialog){
this.dialog = dialog;
}
private void btnFecharDialogActionPerformed(ActionEvent e){
this.dialog.dispose();
}
}
public class DialogQueroFechar extends JDialog{
MeuDialog md = new MeuDialog(null, true);
md.setDialogQueroFechar(this);
md.setVisible();
}
é mais ou menos isso, escrevi aqui msm sem usar IDE entaum nem testei, mas a idéia é essa assim como para abrir dados de um jdialog/jframe etc…Um para outro.