je suis en train de construire une petite application qui permet de répondre à des questions dans un domaine technique.
Ma fenêtre principale est une JFrame, que je souhaite détruire lorsque je clique sur la croix.
Par défaut, dans la java doc, il est indiqué que, par défaut, c'est le "hide on close" qui est postionné sur la propriété "DefaultOperationOnClose".
Cela veut dire que, si je ferme ma JFrame, en fait, elle existe toujours, et donc, elle est cachée mais pas détruite...
Je souhaite donc positionner cette propriété sur "Dispose_On_Close", qui semble fermer libérer les ressources utilisées.
1/ Si je créé une JFrame, il semble impossible de modifier après sa construction, cette propriété pour lui affecter "Dispose_On_Close", cela ne semble possible que lors de la construction de cette JFame.
Est-ce bien le cas?
2/ J'ai résolu ce premier problème en créant une classe qui étend JFrame, et positionne cette propriété comme désiré, sur "Dispose_On_close".
Si je si crée un objet de la classe Fenetre, "fenetre1", le test "fenetre1!= null" donne true, normal, car ma fenêtre existe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package quizz; import javax.swing.JFrame; class Fenetre extends JFrame { public Fenetre(String title) { this.setTitle(title); this.setSize(800, 800); this.setVisible(true); this.setAlwaysOnTop(true); this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); } }
Si je ferme mon objet "fenetre1", le test "fenetre1 != null" semble indiquer encore "true".
La fenêtre, créée ou détruite semble toujours valoir "true"?? Mon raisonnement est-il faux??
Partager