What is the actual difference between paint()
, paintComponent()
and paintComponents()
in Java Swing?
I tried to understand what explained in Oracle docs but I am not clear.
paint()
.JFrame
, JWindow
, JDialog
, JApplet
..), override paint()
. But there are a number of good reasons not to paint in a TLC. A subject for a separate question, perhaps.JComponent
), override paintComponent()
.paintComponents()
, leave it to the API to call it when needed.Be sure to also use @Override
notation whenever overriding a method.
Doing so would hint at the problem of trying to override paintComponent(..)
in a JFrame
(it has no such method), which is quite common to see.