Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Double Buffered Swings

 
Aaron Roberts
Ranch Hand
Posts: 174
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a custom swing component which lets you paint on it and stamp. I am getting flickering though.

The user selects a stamp and can move it ontop of the existing drawing. When they want to paste the stamp down, then click. I keep two images, a buffer where the stamp has not been placed, and the current components image. As the stamp moves, I have to redraw what was under it from the original image. The problem is that you can see a flicker when a portion of the stamp imagery overlaps the old location.

Here's a quick snippet -


The g2d is the graphics context passed into the paintComponent() method. the backBuffer is an image which contains the original drawing. The isDoubleBuffered() method returns true on the object. Is there a way to avoid the flicker without making a third image to draw onto the screen in one pass?

I know there are buffer strategies, but that seems overkill for what I have.

Regards,
Aaron R>
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic