Browse Source

added ability to change colours

tsdedhar 6 years ago
parent
commit
8eba55ba06

BIN
assignments/a2/.gradle/4.7/fileHashes/fileHashes.bin


BIN
assignments/a2/.gradle/4.7/fileHashes/fileHashes.lock


BIN
assignments/a2/.gradle/4.7/taskHistory/taskHistory.bin


BIN
assignments/a2/.gradle/4.7/taskHistory/taskHistory.lock


BIN
assignments/a2/.gradle/buildOutputCleanup/buildOutputCleanup.lock


BIN
assignments/a2/build/classes/java/main/Colours$1.class


BIN
assignments/a2/build/classes/java/main/Colours.class


BIN
assignments/a2/build/classes/java/main/Handler.class


BIN
assignments/a2/build/classes/java/main/Model.class


BIN
assignments/a2/build/classes/java/main/Sidepane.class


BIN
assignments/a2/build/classes/java/main/Thingy.class


BIN
assignments/a2/build/classes/java/main/colourButton.class


BIN
assignments/a2/build/libs/a2-1.0-SNAPSHOT.jar


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

@@ -18,11 +18,6 @@ public class Handler extends MouseInputAdapter implements ActionListener, Change
     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());

+ 3 - 4
assignments/a2/src/main/java/Model.java

@@ -2,6 +2,7 @@ import java.util.Observable;
 import java.util.*;
 import java.awt.*;
 import javax.swing.*;
+import java.io.*;
 
 public class Model extends Observable
 {
@@ -112,10 +113,8 @@ class Thingy
   public Thingy(Color c, int x)
   {
     points = new ArrayList();
-    //this.colour = c;
-    this.colour = Color.black;
-    //this.thiccness = x;
-    this.thiccness = 5;
+    this.colour = c;
+    this.thiccness = x;
   }
   
   public void addPoint(int x, int y)

+ 17 - 11
assignments/a2/src/main/java/Sidepane.java

@@ -2,6 +2,7 @@ import java.io.*;
 import java.util.*;
 import java.awt.*;
 import javax.swing.*;
+import java.awt.event.*;
 
 public class Sidepane extends JPanel implements Observer
 {
@@ -16,7 +17,7 @@ public class Sidepane extends JPanel implements Observer
     // changes.
     this.model = model;
     this.setPreferredSize(new Dimension(280, 720));
-    colours = new Colours();
+    colours = new Colours(model);
     this.add(colours);
     model.addObserver(this);
   }
@@ -34,20 +35,16 @@ public class Sidepane extends JPanel implements Observer
 
 class Colours extends JPanel
 {
-  private JButton red;
-  private JButton green;
-  private JButton blue;
-  private JButton yellow;
-  private JButton purple;
-  private JButton orange;
-  private JButton cyan;
-  private JButton custom;
+  private Model model;
   private ArrayList<colourButton> colours;
 
-  public Colours()
+  public Colours(Model m)
   {
+    this.model = m;
     this.setLayout(new GridLayout(0, 2));
     this.setPreferredSize(new Dimension(280, 600));
+    this.colours = new ArrayList();
+    colourButton.model = m;
     colours.add(new colourButton(Color.red));
     colours.add(new colourButton(Color.green));
     colours.add(new colourButton(Color.blue));
@@ -60,12 +57,21 @@ class Colours extends JPanel
     for(colourButton b: colours)
     {
       this.add(b);
+      b.addActionListener(new ActionListener()
+      {
+        public void actionPerformed(ActionEvent e)
+        {
+          colourButton.model.changeColour(b.getBackground());
+        }
+      });
     }
   }
 }
 
 class colourButton extends JButton
 {
+  public static Model model;
+
   public colourButton(Color c)
   {
     this.setPreferredSize(new Dimension(140, 150));
@@ -77,4 +83,4 @@ class colourButton extends JButton
   {
     return this.getBackground().toString();
   }
-}
+}