hypesystem

GD - DrawMove.java

Nov 1st, 2011
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.10 KB | None | 0 0
  1. package gd;
  2.  
  3. /**
  4.  * Illustrates drawing and moving of DrawableAndMovable objects
  5.  *
  6.  * @author Peter Sestoft
  7.  * @version 2007-11-05
  8.  */
  9.  
  10. import java.awt.*;
  11. import javax.swing.JFrame;
  12.  
  13. public class DrawMove extends JFrame {
  14.   private MyCanvas canvas = new MyCanvas();
  15.   private Drawable[] drawables;
  16.  
  17.   public DrawMove() {
  18.     add(canvas);
  19.     pack();
  20.     setVisible(true);
  21.   }
  22.  
  23.   public void drawThem(Drawable[] dms) {
  24.     this.drawables = dms;
  25.     canvas.repaint();
  26.   }
  27.  
  28.   public void drawAndMoveThem(DrawableAndMovable[] dms) {
  29.     this.drawables = dms;
  30.     for (int i=0; i<500; i++) {
  31.       canvas.repaint();
  32.       try { Thread.sleep(50); } catch (InterruptedException exn) { };
  33.       for (Movable m : dms) {
  34.           m.move(3,2);
  35.       }
  36.     }
  37.   }
  38.  
  39.  
  40.   private class MyCanvas extends Canvas {
  41.     public Dimension getPreferredSize() {
  42.       return new Dimension(600, 400);
  43.     }
  44.  
  45.     public void paint(Graphics g) {
  46.       g.setColor(Color.RED);
  47.       if (drawables != null) {
  48.         for (Drawable d : drawables) {
  49.           d.draw(g);
  50.         }
  51.       }
  52.     }
  53.   }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment