Flicker-free Animation Using Java

Currently the most popular use of Java seems to be in building Applets. In this article Paul shows you not only how to make a applet, but how to make it look good.
______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Problem....

Unome's picture

I understand the concept of double-buffering and have used it a bunch, but I've run into a problem that I just simply cannot solve. I'm creating an applet with a little Marine that has a machine gun. A mouse listener tracks your mouses location to move his arm with the cursor angle, and a click listener fires bullets. There is more too it but thats not important. My problem is, in order to rotate the image of both his arm... and the gun I had to use AffineTransform and set somethings with that.... the methods for affineTransform aren't carried over to offscreen images, so I can't rotate the arm if I draw to an offscreen. As you can see I'm kinda stuck between a rock and a hard place. I can either have my program function smoothly with an arm that stays still as bullets fly out of nowhere. Or I can have a flickering monster that works seamlessly underneath....

Is there any other way to stop flickering? Or is their a way to make AffineTransform work with offscreen images?

Please let me know if you can! I'd really appreciate the help. I can show you my code it you need it.

Thank you !

Ulhume's picture

I spent days trying to find this tiny little getToolkit().sync() function. Great tutorial and thanks again for your help !

Re: Flicker-free Animation Using Java

Anonymous's picture

X windows double buffers too. I came across this page when i ran into a JTable flickering like crazy when you scroll it, update it, whatever on windows. I had been developing the damn thing in FreeBSD the whole time, so i never saw the flicker. When i dropped it into a webpage and tested it on a windows box, all i saw was flicker.

Silly windows..

- Kevin

Re: Flicker-free Animation Using Java

Anonymous's picture

Greetings,

Kevin: How did you fix it? I'm running into a similar problem, although in an application, not an applet, and on OSX, not Windows, but any hints about getting rid of redraw flicker are desperately needed.

Thanks!

-- Morgan

Re: Flicker-free Animation Using Java

Anonymous's picture

In Mac OS X it appears java applets are flicker free. Perhaps because all windows are double buffered to begin with ( unless for some bizarre reason ). Try it. I'm not crazy. Is it just Mac OS X thats does this? Any other operating systems that don't require direct double buffering in java?

A similar issue

Ben's picture

Yeah, I'm having the exact same problem. I thought it was because of my Eclipse build, or that I'm running Vista or something, but yes. At school, I run Java on OS X and it's silky smooth. on Vista, ugly flickering monster with the exact same code.

Webcast
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers

Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.

Learn More

Sponsored by AMD

White Paper
Red Hat White Paper: Using an Open Source Framework to Catch the Bad Guy

Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6

Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.

Learn more about catching the bad guy in this free white paper.

Learn More

Sponsored by DLT Solutions