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