Qu'est-ce que addNotify();?
J'ai essayé de trouver une dilettantes définition de addNotify()
mais je ne peux pas vraiment la réponse à l'aide de Google.
Autant que je sache, lors de la substitution addNotify()
dans ma classe, je dois appeler super.addNotify();
et puis n'importe quoi d'autre par la suite.
Ma question est, est - addNotify()
exécuter automatiquement? Qu'est-ce que c'est objectif et ce qui se passe quand je le remplacer, et, d'ailleurs, pourquoi aurais-je besoin de remplacer cette méthode?
Merci.
OriginalL'auteur Space Ghost | 2013-03-20
Vous devez vous connecter pour publier un commentaire.
Oui. Le précis où dépend le fonctionnement interne de l'AWT mise en œuvre.
Il est tel que décrit dans le javadoc. Il est très bas niveau de stuff qui fait partie de la "colle" qui relie l'AWT monde pour le natif de fenêtrage monde. (Je suis délibérément haut niveau et vague. Si vous voulez les moindres détails, télécharger et lire l'OpenJDK code source.)
Vous auriez probablement briser AWT 🙂
Je ne peux pas penser à une bonne raison de le faire ... à moins que vous essayiez de port AWT à un autre système d'exploitation ou un autre natif système de fenêtrage.
sans voir le code, c'est difficile à dire. Le code du travail?
addNotify(){ super.addNotify(); startGame(); }
Fondamentalement, ce questartGame();
n'est-il crée un nouveau Thread qui a sa Méthode run surchargée. Fondamentalement, il active les nouveaux Threads s'exécutent par la méthode de l'appel denewThreadName.start();
Afin de couper court, la seconde méthode, celle du "startGame();
contient le code qui crée un nouveau thread et le démarre. J'espère qu'un sens. Si non, je vous remercie pour votre answeres, ils ont vraiment beaucoup aidé.Il me semble que "l'auteur", mis en œuvre est un hack. Il est l'aide de addNotify tout simplement parce qu'il est appelé à un moment opportun. Pas recommandé ... mais, vraisemblablement, il fonctionne.
Je ne le pense pas. Il pourrait le faire avec un conteneur à l'écoute.
OriginalL'auteur Stephen C
Composant#addNotify() est une méthode
java.awt.Component
classe. Le but de cette méthode comme indiqué dans l'API:OriginalL'auteur PermGenError
Méthodes
addNotify() /removeNotify()
sont les seuls crochets de l'AWT fournit dans lequel nous pouvons correctement détruire et recréer le contexte OpenGL, étant donné que le natif sous-jacent widget est en train d'être détruit.addNotify()
est utilisé par le faible niveau des composants d'interagir avec les sous-jacents par les pairs sur le système d'exploitation de sorte que quelque chose se passe RÉELLEMENT, et pas seulement de belles images sur un écran.Préférable d'éviter d'utiliser cette méthode.
OriginalL'auteur Shreyos Adikari