Results 1 to 1 of 1
-
How to create Animation: Paint and thread
This Java tip shows how to create a simple animation using the paint(Graphics g) method and a thread.
Java Code:import java.awt.Color; import java.awt.Graphics; import java.awt.Insets; import java.util.Timer; import java.util.TimerTask; import javax.swing.JFrame; public class Animate extends JFrame { private static int DELAY = 100; Insets insets; Color colors[] = { Color.RED, Color.ORANGE, Color.YELLOW, Color.GREEN, Color.BLUE, Color.MAGENTA }; public void paint(Graphics g) { super.paint(g); if (insets == null) { insets = getInsets(); } // Calculate each time in case of resize int x = insets.left; int y = insets.top; int width = getWidth() - insets.left - insets.right; int height = getHeight() - insets.top - insets.bottom; int start = 0; int steps = colors.length; int stepSize = 360 / steps; synchronized (colors) { for (int i = 0; i < steps; i++) { g.setColor(colors[i]); g.fillArc(x, y, width, height, start, stepSize); start += stepSize; } } } public void go() { TimerTask task = new TimerTask() { public void run() { Color c = colors[0]; synchronized (colors) { System.arraycopy(colors, 1, colors, 0, colors.length - 1); colors[colors.length - 1] = c; } repaint(); } }; Timer timer = new Timer(); timer.schedule(task, 0, DELAY); } public static void main(String args[]) { Animate f = new Animate(); f.setSize(200, 200); f.show(); f.go(); } }"The sole cause of man’s unhappiness is that he does not know how to stay quietly in his room." - Blaise Pascal
Similar Threads
-
Animation Delay - Thread problem
By wererabit in forum Advanced JavaReplies: 3Last Post: 04-10-2009, 10:35 PM -
GUI Animation
By serfster in forum New To JavaReplies: 2Last Post: 06-11-2008, 03:37 AM -
How to make a MouseClick paint an object
By Devilsfutbol17 in forum New To JavaReplies: 6Last Post: 06-05-2008, 12:54 PM -
radio buttons and paint
By gtraylo in forum Java AppletsReplies: 1Last Post: 04-19-2008, 12:43 PM -
paint() and paintComponent()
By goldhouse in forum Java 2DReplies: 1Last Post: 07-17-2007, 03:43 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks