My work on OpenJUMP's pluggable renderers has prompted me to ask a
question about the basic operation or functionality rendering system.

The LayerViewPanel class defines two methods that both involve
rendering. The first is paintComponent() and the second is repaint().
After studying both methods I realize they have very different
behavior.

paintComponent() results in a call to each Renderer objects copyTo()
method and does not appear to involve threads. It also always results
in a call to super().

repaint() only results in a call to superRepaint() if the
RenderingManager associated with the LayerViewPanel is null. It does
use threads, and calls the createRunnable method of each Renderer
instead of using its CopyTo() method.

I am curious why these methods are so different.

More importantly, when is each method called? I can see from the call
hierarchy tool in Eclipse that repaint() is called when ever changes
occur to a Layer. When is paintComponent() called? Does this only
happen when the LayerViewPanel is created?

I think having the answers to these questions will help me to better
understand the rendering system and might assist me in coming up with
the correct solution to my NullPointerException problem.

Thanks in advance for any help.

Landon

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to