Browse Source

drawing lines for once

tarfeef101 6 years ago
parent
commit
3d1b1b94b9
2 changed files with 45 additions and 0 deletions
  1. 20 0
      assignments/a2/src/main/java/Model.java
  2. 25 0
      assignments/a2/src/main/java/View.java

+ 20 - 0
assignments/a2/src/main/java/Model.java

@@ -35,6 +35,11 @@ public class Model extends Observable
     curThingy.addPoint(x, y);
   }
   
+  public ArrayList<Thingy> getThingies()
+  {
+    return thingies;
+  }
+  
   public void setMenuColour(Color c)
   {
     menuColour = c;
@@ -95,4 +100,19 @@ class Thingy
   {
     points.add(new Point(x, y));
   }
+  
+  public ArrayList<Point> getPoints()
+  {
+    return points;
+  }
+  
+  public Color getColour()
+  {
+    return colour;
+  }
+  
+  public int getThiccness()
+  {
+    return thiccness;
+  }
 }

+ 25 - 0
assignments/a2/src/main/java/View.java

@@ -26,4 +26,29 @@ public class View extends JPanel implements Observer
     revalidate();
     repaint();
   }
+  
+  public void paintComponent(Graphics g)
+  {
+    Graphics gtemp = (Graphics2D) g;
+    ArrayList<Thingy> thingies = m.getThingies();
+    
+    for (Thingy t: thingies)
+    {
+      ArrayList<Point> points = t.getPoints();
+      gtemp.setColor(points.get(0).getColour());
+      gtemp.setStroke(new BasicStroke(p.getThiccness(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
+      
+      if ((points.size() ==  1))
+      {
+        gtemp.drawLine(points.get(0).x, points.get(0).y, points.get(0).x, points.get(0).y);
+      }
+      else
+      {
+        for (int i = 1; i < points.size(); i++)
+        {
+          gtemp.drawLine(points.get(i - 1).x, points.get(i - 1).y, points.get(i).x, points.get(i).y);
+        }
+      }
+    }
+  }
 }