Fermer une frame

[Résolu]
Signaler
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
-
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
-
bonjour,

je voudrai savoir comment fermer une frame.

je m'explique.

je cree une frame qui n'est pas ma frame principale



MyFrame f = new MyFrame();

f.setVisible(true);



et je voudrais la refermer (comme si je faisai un clik sur la tite croix en ayant l'option EXIT_ON_CLOSE)

alors eske en faisant un

f.setVisible(false)

f = null;



ca marche et ca correspond a ce que je veux faire? ou existe il une methode du genre

f.close()

??

merci

5 réponses

Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
pourquoi ne pas utiliser le EXIT_ON_CLOSE puisqu'il existe ??



Sinon, ta méthode n'est pas équivalent. la seule chose qui marche à part le EXIT_ON_CLOSE_ à ma connaissance, c'est ceci :



f.addWindowListener(new WindowAdapter() {

public void windowClosing(new WindowEvent e) {

System.exit(0);

}

});


Et si tu veux pas quitter l'appli mais seulement fermer ta frame



f.addWindowListener(new WindowAdapter() {


public void windowClosing(new WindowEvent e) {


TaClasse.this.f.dispose();


}

});


gmi19oj19
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
apres lecture de la doc de dispose(), je pense que c'est ce que je voulais.

effectivement le System.exit() ne me convient pas pas car je desire juste fermere UNE frame

donc si jai bien compris en adaptant a ce que je veu, je veu juste fermer la frame apres un click sur bouton :

class closeListener implements ActionListener [

public void actionPerformed(ActionEvent e) {

myFrame.dispose();

}

}



myButton.addActionListener(new closeListener());



alors ceci fermera la fenetre myFrame comme si je cliquai sur la croix?

merci gmi
Messages postés
1
Date d'inscription
lundi 19 septembre 2005
Statut
Membre
Dernière intervention
22 septembre 2005

Bonjour a tous, je suis nouveau ici et dans la programmation JAVA. J essaie de mettre une image ou un son dans un applet et je n arrive pas a savoir ou mettre l image quand on l enregistre pour que ca marche. Si quelqu un peut me mettre un exemple complet pour mettre une image en JAVA avec explication ca m aiderai beaucoup
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
T'embetes pas à faire des classes pareilles, il vaut mieux utiliser une classe anonyme.



myButton.addActionListener(new ActionListener() {

public void actionPerformed(Actionevent e) {

TaClasse.this.myFrame.dispose();

}

});



Si tu veux garder ton idée première, il faut que tu designes ta frame comme je le fait et :

que ta clases soit interne à la classe principale

que ta frame soit déclarée en tant que cjamp de ta classe



Je rajouterais deux petits conseils :

=> Nom de classe commençant par une majuscule, tjs. C'est une convention de nommage

=> Mets des noms de champ plus explicites , parce
que myFrame, myFrame2 ... apres si tu relis ton code un mois apres, tu
te souviendras plus de ce que ça veut dire.



-------------------------------------------------------



neo => la prochaine fois, pose ta question en creant un nouveau au lieu de le faire sur un sujet qui n'a aucun rapport



pour ton probleme (je vais quand même repondre^^) , place l'image sur
le ftp (si tu executes ton applet online) avec le même shéma de
repertoires qu'en local et crée ton image ainsi :



ImageIcon image = new ImageIcon(getClass().getResource

(chemin_relatif_de_l_image_par_rapport_au_package_de_ta_class);



Pour le son, j'en ai aucune idée, ais en utilisant la fonction recherche tu trouveras surement un debut de reponse


gmi19oj19
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
merci gmi

la fonction dispose() correspond exactement a ce que je voulais

et merci aussi pour la methode MaClasse.this.dispose()

je connaissai pas et ca fait ce que je voulais aussi



sinon pour tes conseils, c sympa mais c'etait juste un exemple type! ma
classe s'appele pas myFrame et commence par une majuscule ;)