// this is the basics of gui stuff import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class J06Animation extends Component implements Runnable { private ArrayList points; private JFrame mainFrame; // this is called a constructor (look up the term) public J06Animation() { points = new ArrayList(); points.add(new Point(5,5)); points.add(new Point(20,20)); mainFrame = new JFrame(); mainFrame.getContentPane().setLayout(new FlowLayout()); mainFrame.getContentPane().add(this); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainFrame.pack(); mainFrame.setVisible(true); } public static void main(String[] args) { J06Animation j06 = new J06Animation(); Thread t = new Thread(j06); t.start(); } public void run() { while(mainFrame.isVisible()) { try{ points.add(new Point((int)(Math.random()*400),(int)(Math.random()*400))); this.repaint(); Thread.sleep(1000); }catch(Exception e){} } } public Dimension getPreferredSize() { return new Dimension(400,400); } public void paint(Graphics g) { g.setColor(Color.BLACK); g.fillRect(0,0,400,400); for(int i=0;i