jQuery in Action, 3rd edition
The moose likes Java in General and the fly likes Plot zooming and double buffering Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Plot zooming and double buffering" Watch "Plot zooming and double buffering" New topic

Plot zooming and double buffering

Norm Radder
Ranch Hand

Joined: Aug 10, 2005
Posts: 694
I have a plot program that displaces nodes and connecting lines. The nodes represent WayPoints in a region of the globe.
I initially scale the plot so that all of the nodes will show. Normally all the nodes are in a region, say the Caribbean Sea.
The Lat/Long of the WPs are converted to pixels and mapped into the display.
When I ZoomIn by X2, I change the number of pixels per degree of Lat/Long by X2 and then redraw the plot. I also allow the plot to be repositioned by click and drag with the mouse. The zooming works up to about 16X, which is adequate.

The problem is there is a small amount of flickering because I don't double buffer the image.
When I tried double buffering, I ran into problems with the createImage() method call trying to create TOO large an image after zooming in several times, The JVM runs out of space!

My question: How do I draw the WP and connecting lines when zooming?

Am I misusing the createImage() method? I'm having it create an image the size of the total zoomed area. This fails when the size of the area becomes too large!

Is there a way to use translate() or the clip area?

Why does the original Graphics context allow me to draw a plot up to about 16X with no problems?

I agree. Here's the link: http://aspose.com/file-tools
subject: Plot zooming and double buffering
It's not a secret anymore!