Dots.java
1    /* 
2    t contains exactly 9 painted (filled in) circles- 
3    it contains circles of exactly 4 different sizes- 
4    it contains circles of exactly 4 different colors- 
5    none of the circles touch- 
6    the image is symmetric about the Y-axis- 
7    not all of the circles touch the Y-axis- 
8     */
9    package npw;
10   
11   import painter.SPainter;
12   import shapes.SCircle;
13   import java.awt.Color;
14   import javax.swing.SwingUtilities;
15   
16   public class Dots {
17       private void paintTheImage() {
18           SPainter jeremi = new SPainter("Random Dots",600,600);
19           SCircle CircleVariants = new SCircle(0);
20           paintBlueVariants(jeremi, CircleVariants);
21           paintOrangevariants(jeremi, CircleVariants);
22           paintPurplevariants(jeremi, CircleVariants);
23           paintYellowvarients(jeremi, CircleVariants);
24       }
25   
26           private void paintBlueVariants(SPainter jeremi, SCircle circleVariants) {
27           SCircle Blue1 = new SCircle(40);
28           jeremi.setColor(Color.BLUE);
29           jeremi.mfd(80);
30           jeremi.mlt(80);
31           jeremi.paint(Blue1);
32           SCircle Blue2 = new SCircle(40);
33           jeremi.mfd(0);
34           jeremi.mrt(160);
35           jeremi.setColor(Color.BLUE);
36           jeremi.paint(Blue2);
37           jeremi.mbk(80);
38           jeremi.mlt(160);
39           jeremi.mrt(80);
40       }
41   
42       private void paintOrangevariants(SPainter jeremi, SCircle circleVariants) {
43           SCircle Orange1 = new SCircle(60);
44           jeremi.setColor(Color.ORANGE);
45           jeremi.mbk(40);
46           jeremi.mlt(80);
47           jeremi.paint(Orange1);
48           SCircle Orange2 = new SCircle(60);
49           jeremi.mbk(0);
50           jeremi.mrt(160);
51           jeremi.setColor(Color.ORANGE);
52           jeremi.paint(Orange2);
53           SCircle Orange3 = new SCircle(60);
54           jeremi.mbk(140);
55           jeremi.mlt(80);
56           jeremi.setColor(Color.ORANGE);
57           jeremi.paint(Orange3);
58           jeremi.mfd(180);
59           jeremi.mrt(160);
60           jeremi.mlt(160);
61       }
62   
63       private void paintPurplevariants(SPainter jeremi, SCircle CircleVariants){
64          SCircle Purple1 = new SCircle(20);
65          jeremi.setColor(Color.MAGENTA);
66          jeremi.mfd(20);
67          jeremi.mlt(0);
68          jeremi.paint(Purple1);
69          SCircle Purple2 = new SCircle(45);
70          jeremi.mfd(120);
71          jeremi.setColor(Color.MAGENTA);
72          jeremi.paint(Purple2);
73          jeremi.mbk(140);
74      }
75   
76       private void paintYellowvarients(SPainter jeremi, SCircle CircleVariants) {
77         SCircle Yellow1 = new SCircle(40);
78           jeremi.setColor(Color.YELLOW);
79           jeremi.mfd(180);
80           jeremi.mlt(80);
81           jeremi.paint(Yellow1);
82           SCircle Yellow2 = new SCircle(40);
83           jeremi.mfd(0); jeremi.mrt(160);
84           jeremi.setColor(Color.YELLOW);
85           jeremi.paint(Yellow2);
86           jeremi.mbk(180);
87           jeremi.mrt(80);  jeremi.mlt(160);
88      }
89   
90       //Required infrastructure
91       public Dots() {
92           paintTheImage();
93       }
94       public static void main (String[] args) {
95           SwingUtilities.invokeLater(new Runnable() {
96               public void run(){
97                   new Dots();
98               }
99           });
100      }
101  }
102