Olá Amigos,
Venho a compartilhar mais uma simples metodologia resultado de minhas pesquisas.
Como fechar um JFrame através de outra Classe (independente do pacote).
Vamos lá?
No jFrame a ser fechado, lance o código:
//ATRAVÉS DA CLASSE JFrame IREMOS CRIAR O OBJETO frame.
private static JFrame frame;
//CRIAREMOS ESTE MÉTODO PARA RETORNAR O OBJETO frame CRIADO ACIMA
public static JFrame meuJFrame(){
return frame;
}
// NOSSO JFRAME É ESTE:
public JFrame1() {
/*
** AQUI ESTÁ O SEGREDO: IREMOS DIZER QUE NOSSO OBJETO frame RECEBERÁ NOSSO JFRAME.
*/
frame = this;
initComponents();
...
Meio caminho já foi andado, agora iremos dar o famoso “dispose()” em nosso JFrame através de um método vindo de outra classe, vamos lá?
//MINHA NOVA CLASSE
public class NovaClasse{
//METODO 'fecharJFrame'
public void fecharJFrame(){
//O OBJETO frame DA CLASSE JFrame RECEBERÁ O MÉTODO DE meuJFrame DO JFRAME CRIADO jFrame1
JFrame frame = JFrame1.meuJFrame();
//E POR FIM, IREMOS FECHAR O JFrame1 CRIADO
frame.dispose();
}
}
Prontinho.
Como sempre digo, caso conheçam alguma maneira ainda mais simples, postem aqui. 