Some hints on how to display changing graphics in Java using a simple example I have borrowed from the following site:
http://www.dreamincode.net/forums/topic/30222-working-with-graphics-in-java/
I use the same approach to draw a number of concentric circles of differing sizes, but with a small delay in between each draw, refreshing the display at each iteration to give the illustration of the changing graphics.
Full Java code follows:
import java.awt.*; import javax.swing.*; public class MainApp extends JPanel { private static final long serialVersionUID = 1L; static JFrame frame = new JFrame("BullsEye"); static int endpoint = 220; static int x, y; public static void main(String args[]) { MainApp eye = new MainApp(); frame.add(eye); frame.setSize(300,300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); for (x = 20; x <= 110; x += 10) { endpoint = endpoint - 20; y = x + 10; frame.setVisible(true); try { Thread.sleep(200); frame.revalidate(); frame.repaint(); } catch (InterruptedException e) { e.printStackTrace(); } } } // This method fires to draw our circles when we go to paint it on the frame public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.BLACK); g.drawOval(x,y,endpoint,endpoint); } }
See video for quick demonstration: