Преглед на файлове

adding slider to change thiccness

tarfeef101 преди 6 години
родител
ревизия
ec19a37d46

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

@@ -29,3 +29,8 @@ public class Controls extends JPanel implements Observer
     repaint();
   }
 }
+
+class playbackSlider extends JSlider
+{
+  
+}

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

@@ -73,6 +73,16 @@ public class Model extends Observable
     setChanged();
     notifyObservers();
   }
+  
+  public int getThiccness()
+  {
+    return curThiccness;
+  }
+  
+  public Color getColour()
+  {
+    return curColour;
+  }
 
   // Add observer to be notified on change
   public void addObserver(Observer observer)

+ 49 - 0
assignments/a2/src/main/java/Sidepane.java

@@ -85,3 +85,52 @@ class colourButton extends JButton
     return this.getBackground().toString();
   }
 }
+
+class previewPanel extends JPanel
+{
+  private Model model;
+  private JSlider slider;
+  private previewLine preview;
+  
+  public previewPanel(Model m)
+  {
+    this.model = m;
+    this.slider = new JSlider(1, 50, model.getThiccness());
+    this.slider.addChangeListener(new ChangeListener()
+      {
+        public void stateChanged(ChangeEvent e)
+        {
+          this.model.changeThiccness(slider.getValue());
+        }
+      });
+    this.preview = new previewLine(m);
+  }
+}
+
+class previewLine
+{
+  private int xpos;
+  private int ypos;
+  private Model model;
+  
+  public previewLine(Model m)
+  {
+    this.model = m;
+    model.addObserver(this);
+  }
+
+  public void update(Object observable)
+  {
+    revalidate();
+    repaint();
+  }
+  
+  public void paintComponent(Graphics g)
+  {
+    super.paintComponent(g);
+    Graphics2D gtemp = (Graphics2D) g;
+    gtemp.setColor(model.getColour());
+    gtemp.setStroke(new BasicStroke(model.getThiccness(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
+    gtemp.drawLine(xpos, ypos, xpos, ypos);
+  }
+}

+ 1 - 1
assignments/a2/src/main/java/View.java

@@ -37,7 +37,7 @@ public class View extends JPanel implements Observer
     {
       ArrayList<Point> points = t.getPoints();
       gtemp.setColor(t.getColour());
-      gtemp.setStroke(new BasicStroke(t.getThiccness(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); 
+      gtemp.setStroke(new BasicStroke(t.getThiccness(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
       
       if ((points.size() ==  1))
       {