Dots.java
1    ///Paints 9 Circles with 4 different sizes, 4 different colors, no circles touch,
2    // the image is symmetric about the Y axis and not all of the circles touch the Y axis
3    
4    package npw;
5    import java.awt.Color;
6    import java.awt.geom.Point2D;
7    import javax.swing.SwingUtilities;
8    import painter.SPainter;
9    import shapes.SCircle;
10   import shapes.SSquare;
11   
12   import static shapes.SCircle.*;
13   
14   public class Dots {
15   
16   
17       private void paintTheImage() {
18           SPainter painter = new SPainter("Dots", 400, 400);
19           SCircle dot = new SCircle(13);
20   
21           Point2D.Double location1 = new Point2D.Double(100, 100);
22           Point2D.Double location3 = new Point2D.Double(60, 350);
23           Point2D.Double location4 = new Point2D.Double(100, 300);      ///Left
24           Point2D.Double location5 = new Point2D.Double(80, 200);
25   
26           Point2D.Double location6 = new Point2D.Double(200, 200);      ///middle
27   
28           Point2D.Double location7 = new Point2D.Double(300, 100);
29           Point2D.Double location8 = new Point2D.Double(340, 350);
30           Point2D.Double location9 = new Point2D.Double(300, 300);      ///Right
31           Point2D.Double location10 = new Point2D.Double(320, 200);
32   
33   
34           paintBlueCircle(painter, dot, location1, location7);
35           paintRedCircle(painter, dot, location3, location8);
36           paintGreenCircles(painter, dot, location4, location5,location9,location10);
37           paintOrangeCircle(painter, dot, location6);
38   
39       }
40   
41   
42       private void paintGreenCircles(SPainter painter, SCircle dot, Point2D.Double location4, Point2D.Double location5,Point2D.Double location9, Point2D.Double location10) {
43           painter.setPosition(location4);
44           painter.setColor(Color.green);
45           dot.s2();
46           painter.paint(dot);
47           painter.setPosition(location5);
48           painter.paint(dot);
49           painter.setPosition(location9);
50           painter.paint(dot);
51           painter.setPosition(location10);
52           painter.paint(dot);
53           dot.x2();
54   
55       }
56   
57       private void paintRedCircle(SPainter painter, SCircle dot, Point2D.Double location3, Point2D.Double location8) {
58           painter.setPosition(location3);
59           painter.setColor(Color.red);
60           dot.x2();
61           painter.paint(dot);
62           painter.setPosition(location8);
63           painter.paint(dot);
64           dot.s2();
65   
66       }
67   
68       private void paintBlueCircle(SPainter painter, SCircle dot, Point2D.Double location1,Point2D.Double location7) {
69           painter.setPosition(location1);
70           painter.setColor(Color.blue);
71           painter.paint(dot);
72           painter.setPosition(location7);
73           painter.paint(dot);
74   
75       }
76   
77       private void paintOrangeCircle(SPainter painter, SCircle dot, Point2D.Double location6) {                           ///MIDDLE
78           painter.setPosition(location6);
79           painter.setColor(Color.ORANGE);
80           dot.x3();
81           painter.paint(dot);
82   
83       }
84   
85   
86   
87       public Dots() {
88               paintTheImage();
89           }
90   
91           public static void main (String[]args){
92               SwingUtilities.invokeLater(new Runnable() {
93                   public void run() {
94                       new Dots();
95                   }
96               });
97           }
98       }
99