tarfeef101 пре 7 година
родитељ
комит
ce1664917d

+ 30 - 0
assignments/a2/src/main/java/Handler.java

@@ -0,0 +1,30 @@
+import java.io.*;
+import java.util.*;
+import java.awt.*;
+import javax.swing.*;
+
+public class Handler extends MouseInputAdapter implements ActionListener, ChangeListener
+{
+  private Model m;
+
+  // Bob the Builder this shit
+  public Handler(Model model)
+  {
+    m = model;
+  }
+  
+  public void mousePressed(MouseEvent e)
+  {
+    m.newThingy(e.getX(), e.getY());
+  }
+  
+  public void mouseReleased(MouseEvent e)
+  {
+    system.out.println("Done drawing thingy");
+  }
+  
+  public void mouseDragged(MouseEvent e)
+  {
+    m.addPoint(e.getX(), e.getY());
+  }
+}

+ 1 - 0
assignments/a2/src/main/java/Main.java

@@ -7,6 +7,7 @@ public class Main
   {
     JFrame window = new JFrame("Paint, but worse");
     Model model = new Model();
+    Handler handler = new Handler(model);
     View view = new View(model);
     Menubar menubar = new Menubar(model);
     Sidepane sidepane = new Sidepane(model);

+ 37 - 1
assignments/a2/src/main/java/Model.java

@@ -1,11 +1,15 @@
 import java.util.Observable;
 import java.util.*;
-import java.awt.Color;
+import java.awt.*;
 
 public class Model extends Observable
 {
    /** The observers that are watching this model for changes. */
   private List<Observer> observers;
+  private List<Thingy> thingies;
+  private Thingy curThingy;
+  private Color curColour;
+  private int curThiccness;
   public Color menuColour;
   public Color sideColour;
   public Color controlColour;
@@ -14,9 +18,22 @@ public class Model extends Observable
   public Model()
   {
     this.observers = new ArrayList();
+    this.thingies = new ArrayList();
     setChanged();
   }
   
+  public void newThingy(int x, int y)
+  {
+    curThingy = new Thingy(curColour, curThiccness);
+    thingies.add(curThingy);
+    curThingy.addPoint(x, y);
+  }
+  
+  public void addPoint(int x, int y)
+  {
+    curThingy.addPoint(x, y);
+  }
+  
   public void setMenuColour(Color c)
   {
     menuColour = c;
@@ -59,3 +76,22 @@ public class Model extends Observable
     }
   }
 }
+
+class Thingy
+{
+  private List<Point> points;
+  private Color colour;
+  private int thiccness;
+  
+  public Thingy(Color c, int x)
+  {
+    points = new ArrayList();
+    this.colour = c;
+    this.thiccness = x;
+  }
+  
+  public void addPoint(int x, int y)
+  {
+    points.add(new Point(x, y));
+  }
+}