L'élimination et la fermeture de fenêtres en Java
Ok, donc cela pourrait être une question stupide, mais je suis débutant en Java et en essayant de m'enseigner les choses de la bonne façon avant de me développer de mauvaises habitudes.
De toute façon, j'ai écrit un programme la nuit dernière, qui se composait d'une classe personnalisée extension de Cadre et d'une classe personnalisée extension de la Toile. La méthode main() est dans la classe de toile et j'ai créer une instance de la classe de vue là. Le problème est que lorsque le programme détecte une fenêtre près de l'événement, je ne peux pas jeter la trame car apparemment je n'ai aucun moyen d'y accéder en dehors de la méthode main. Et si j'essaie de le définir en dehors de la fonction main(), alors je ne peux pas l'utiliser à l'intérieur. Alors j'ai fini par sauter dispose (), ainsi que l'utilisation du Système.exit(0). Est-ce bien? Est-il fondamentalement faire la même chose de toute façon? Ou est-ce un problème j'ai besoin de fixer, et si oui, une idée de comment?
Merci beaucoup pour la lecture,
Cody
OriginalL'auteur Keysmack | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir une référence à l'image, à partir de la
source
propriété de l'événement:Autrement, puisque c'est une classe anonyme (probablement) a déclaré dans le constructeur, vous avez également accès à un enfermement de l'instance, de sorte que vous pouvez aussi l'écrire comme:
Ou vous pouvez faire encore plus simple (comme votre WindowListener ne dispose pas d'une méthode de sa propre appelé "jeter"):
OriginalL'auteur finnw
Pas une question stupide. En raison du garbage collector son pas un gros problème, cependant, il ya des moments où vous voulez exécuter certains de nettoyage lorsque la fenêtre se ferme. Donc quelques suggestions:
La Fenêtre de l'événement de Clôture devraient être gérées à partir de l'Image elle-même. Par exemple:
Et je voudrais vous suggérer de créer une catégorie distincte pour votre méthode principale qui appelle l'Image etc.
OriginalL'auteur Vincent Ramdhanie
}
//En de la fenêtre parent
@Override
OriginalL'auteur sathya