JAVA : Fermeture de plusieurs fenêtres
Fermeture de plusieurs fenêtres.
Je fais appel à vos connaissances et à votre expérience pour m’aider à résoudre le problème suivant :
CONTEXTE
J’ai une fenêtre dite « Statistiques » qui à l’aide d’un bouton AIDE permet d’accéder à une seconde fenêtre « aide_statistiques ». Elles sont dans le même pack.
1/ Dans la public class aide_statistiques, la fenêtre « aide_statistiques » est executée de la façon suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public void run()
{
try
{
aide_statistiques frame1 = new aide_statistiques();
frame1.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
} |
2/ Dans la public class Statistiques, elle est appelée lorsqu’on clique sur le bouton « Aide ». La fenêtre appelante demeure affichée comme souhaité.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
JButton btnAide = new JButton("Aide");
btnAide.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
aide_statistiques frame1 = new aide_statistiques();
frame1.setVisible(true);
}
});
btnAide.setBounds(17, 529, 117, 29);
contentPane_1.add(btnAide); |
3/ Dans « aide_statistiques », le retour vers « Statistiques » s’effectue en cliquant sur un bouton « Retour ».
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
// ------- Bouton Retour vers Statistiques------------------
JButton btnRetour = new JButton("Retour");
btnRetour.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dispose();
}
});
btnRetour.setBounds(157, 439, 117, 29);
contentPane.add(btnRetour); |
Ce code fonctionne parfaitement, la fenêtre « aide_statistiques » se ferme normalement, la fenêtre « Statistiques » reste affichée.
PROBLEME
Dans l’hypothèse où l’on n’a pas cliqué sur « Retour », je souhaite pouvoir fermer les deux fenêtres « Statistiques » et « aide_statistiques », lorsque l’on clique sur le bouton retour (vers le menu principal) de la fenêtre « Statistiques ».
Le code suivant dans "Statistiques" ne fonctionne pas. La fenêtre « Statistiques » se ferme correctement, par contre la fenêtre « aide_statistiques » demeure toujours ouverte !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
// --------------------------------------------------
// Retour vers MENU PRINCIPAL
// --------------------------------------------------
JButton btnNewButton_1 = new JButton("Retour");
btnNewButton_1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// -- Fermeture AIde : Ne marche pas (14/10/2019) -
aide_statistiques frame1 = new aide_statistiques();
frame1.setVisible(false);
frame1.dispose();
// ------------------------------------------------
dispose(); // Fermeture de Statistiques
}
});
btnNewButton_1.setBounds(671, 529, 117, 29);
contentPane_1.add(btnNewButton_1); |
Je vous remercie de votre aide.
Cordialement.
Fermeture plusieurs fenêtres
Bonsoir,
J'ai étudié le code que tu m'as communiqué, j'ai bien compris l'économie générale, je l'ai testé et je l'ai implanté dans mon logiciel.
Cela fonctionne parfaitement et cela correspond pleinement à ma demande.
J'ai bien compris l'objet du module FrameUtils, mais je me dois toutefois de préciser que certaines formulations "m'échappent" encore,
notamment la ligne public static <T extends JFrame ...., mon niveau de connaissance est encore limité dans ce domaine !
Encore, merci d'avoir bien voulu m'aider, c'est très sympa.
Bien cordialement.
Fermeture de plusieurs fenêtres
Bonsoir,
Tous mes remerciements pour vos réponses, mon problème est résolu avec l'aide du code transmis par joel.drigo.
Bien cordialement.