I've tried to find a laymans definition of addNotify()
but I can't really get any answer using Google.
As far as I know, when overriding addNotify()
in my class, I should call super.addNotify();
and then do whatever else afterward.
My question is, does addNotify()
run automatically? What is it's purpose and what happens when I override it and furthermore, why would I ever want to override this method?
Thank's.
Methods
addNotify() / removeNotify()
are the only hooks the AWT provides in which we can correctly destroy and recreate the OpenGL context, given that the underlying native widget is being destroyed.addNotify()
is used by low level components to interact with the underlying peer on the operating system so that something REALLY happens, not just pretty pictures on a screen.Better to avoid using this method.
Yes. The precise where and when depends on the internals of the AWT implementation.
It is as described in the javadoc. It is very low level stuff that is part of the "glue" that connects the AWT world to the native windowing world. (I'm being deliberately high-level and vague. If you want the nitty-gritty details, download and read the OpenJDK source code.)
You'd probably break AWT :-)
I can't think of a good reason to do this ... unless you were trying to port AWT to a different operating system or a different native windowing system.
Component#addNotify() is a method in
java.awt.Component
class. The purpose of this method as stated in the API: