Was ist addNotify();?
Ich habe versucht zu finden ein Amateur-Video definition von addNotify()
aber ich kann nicht wirklich erhalten keine Antwort über Google.
Soweit ich weiß, beim überschreiben addNotify()
in meiner Klasse, die ich aufrufen soll super.addNotify();
und dann tun, was sonst danach.
Meine Frage ist, hat addNotify()
automatisch ausgeführt? Was ist Ihr Zweck und was passiert, wenn ich ihn außer Kraft setzen und außerdem, warum würde ich jemals wollen, überschreiben Sie diese Methode?
Danke.
InformationsquelleAutor Space Ghost | 2013-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. Das genaue wo und Wann, hängt von den Interna der AWT-Implementierung.
Ist es, wie beschrieben, in der javadoc. Es ist sehr low-level-Zeug, das ist Teil der "Kleber" zwischen den AWT-Welt der nativen windowing-Welt. (Ich bin absichtlich auf hoher Ebene und vage. Wenn Sie möchten, dass die nitty-gritty details, download und Lesen Sie die OpenJDK-Quellcode.)
Würden Sie wahrscheinlich brechen AWT 🙂
Ich kann nicht glauben, einen guten Grund dies zu tun ... es sei denn, Sie versuchten, port AWT auf ein anderes Betriebssystem oder eine andere native windowing-system.
ohne zu sehen, den code, es ist schwer zu sagen. Hat der code funktioniert?
addNotify(){ super.addNotify(); startGame(); }
Im Grunde, wasstartGame();
tut, ist es erstellt einen neuen Thread, dessen run-Methode überschrieben. Im Grunde nur aktiviert es die neuen Threads ausführen der Methode durch den AufrufnewThreadName.start();
Also kurz gesagt, die zweite Methode, die man riefstartGame();
code enthält, erstellt einen neuen thread und startet ihn. Ich hoffe, das macht Sinn. Wenn nicht, danke für Eure Antworten, Sie haben wirklich eine Menge geholfen.Es klingt für mich wie das, was "der Autor" implementiert, ist ein hack. Er ist mit addNotify rein, denn es wird als eine günstige Zeit. Nicht zu empfehlen ... obwohl, vermutlich funktioniert es.
Ich denke nicht so. Er konnte tun, dass mit einem container-listener.
InformationsquelleAutor Stephen C
Komponente#addNotify() ist eine Methode, bei
java.awt.Component
Klasse. Der Zweck dieser Methode, wie es in der API:InformationsquelleAutor PermGenError
Methoden
addNotify() /removeNotify()
sind die einzigen Haken, die das AWT bietet, in denen wir richtig zu zerstören und neu zu erstellen, den OpenGL-Kontext, gegeben, dass die zugrunde liegenden nativen widget zerstört wird.addNotify()
wird von low-level-Komponenten für die Interaktion mit dem zugrunde liegenden peer auf das Betriebssystem, so dass WIRKLICH etwas passiert, nicht nur schöne Bilder auf einem Bildschirm.Besser zu vermeiden, mit dieser Methode.
InformationsquelleAutor Shreyos Adikari