addNotify()
gets called whenever the Component
gets added to a Container
. This method can therefore be used to gain parent information without the risk of having a null
parent, which in the constructor is more than likely.
requestFocus()
makes a request that the given Component
gets set to a focused state. This method requires that the component is displayable, focusable, visible and have all it’s ancestors be visible too. It is best to call requestFocusInWindow()
, as that method is not platform dependent.
In the code example, your JPanel
sends a request to be focused. This is useful, since the implementation of a KeyLisener
, which would require the panel to be in a focused state. With the addNotify()
, it just adds the listeners. This will hopefully only be called once, although no guarantee is made in this code example.