Explorar el Código

slider works for thickness, inverse background colour for preview works too

tsdedhar hace 6 años
padre
commit
1293e282e8

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.class


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


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


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


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


+ 31 - 3
assignments/a2/src/main/java/Sidepane.java

@@ -47,7 +47,7 @@ class Colours extends JPanel
   {
     this.model = m;
     this.setLayout(new GridLayout(0, 2));
-    this.setPreferredSize(new Dimension(280, 600));
+    this.setPreferredSize(new Dimension(280, 480));
     this.colours = new ArrayList();
     colourButton.model = m;
     colours.add(new colourButton(Color.red));
@@ -79,7 +79,7 @@ class colourButton extends JButton
 
   public colourButton(Color c)
   {
-    this.setPreferredSize(new Dimension(140, 150));
+    //this.setPreferredSize(new Dimension(140, 150));
     this.setBackground(c);
     this.setOpaque(true);
   }
@@ -107,29 +107,57 @@ class previewPanel extends JPanel
           model.changeThiccness(slider.getValue());
         }
       });
+    this.slider.setPreferredSize(new Dimension(280, 75));
     this.preview = new previewLine(m);
+    this.setPreferredSize(new Dimension(280, 240));
     this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
     this.add(preview);
     this.add(slider);
   }
 }
 
-class previewLine extends JComponent implements Observer
+class previewLine extends JPanel implements Observer
 {
   private Model model;
   private previewPanel parent;
   
   public previewLine(Model m)
   {
+    //this.setMinimumSize(new Dimension(0, 150));
     this.model = m;
     model.addObserver(this);
   }
 
   public void update(Object observable)
   {
+    //Color temp = model.getColour();
+    //this.setBackground(new Color(255 - temp.getRed(), 255 - temp.getGreen(), 255 - temp.getBlue()));
+    newBackground();
     revalidate();
     repaint();
   }
+
+  public void newBackground()
+  {
+    Color temp = model.getColour();
+    int r = temp.getRed();
+    int g = temp.getGreen();
+    int b = temp.getBlue();
+
+    if (r == g && g == b)
+    {
+      if (r > 125) r = g = b = 0;
+      else r = g = b = 255;
+    }
+    else
+    {
+      r = 255 - r;
+      g = 255 - g;
+      b = 255 - b;
+    }
+
+    this.setBackground(new Color(r, g, b));
+  }
   
   public void paintComponent(Graphics g)
   {