Dots.java
1    /* 
2     * write a program called Dots within the npw package to paint an image consisting exclusively of dots (painted circles) 
3     */
4    
5    package npw;
6    
7    import java.awt.Color;
8    import javax.swing.SwingUtilities;
9    import painter.SPainter;
10   import shapes.SCircle;
11   
12   public class Dots {
13   
14       private void paintTheImage() {
15           SPainter painter = new SPainter("Dots",600,600);
16   
17           SCircle dot = new SCircle(100);
18           paintCyanCircles(painter, dot);
19           paintMagentaCircles(painter, dot);
20           paintYellowCircles(painter, dot);
21           paintGreenCircles(painter, dot);
22   
23   
24       }
25   
26       //REQUIRED INFRASTRUCTURE
27   
28       public Dots() {
29           paintTheImage();
30       }
31   
32       public static void main(String[] args) {
33           SwingUtilities.invokeLater(new Runnable() {
34               public void run() {
35                   new Dots();
36               }
37           });
38       }
39   
40       private void paintCyanCircles (SPainter painter, SCircle dot) {
41           //center circle
42           painter.setColor(Color.CYAN);
43           dot.s2();
44           painter.paint(dot);
45           dot.x2();
46   
47           //left circle
48           dot.setRadius(80);
49           painter.mlt(200); painter.mfd(175);
50           painter.paint(dot);
51           painter.mrt(200); painter.mbk(175);
52   
53           //right circle
54           painter.mrt(200); painter.mfd(175);
55           painter.paint(dot);
56           painter.mlt(200); painter.mbk(175);
57           dot.setRadius(100);
58   
59   
60       }
61   
62       private void paintMagentaCircles (SPainter painter, SCircle dot) {
63           painter.setColor(Color.MAGENTA);
64           //right circle
65           dot.s2();
66           painter.mfd(25); painter.mrt(150);
67           painter.paint(dot);
68           //move painter back
69           painter.mbk(25); painter.mlt(150);
70   
71           //left circle
72           painter.mfd(25); painter.mlt(150);
73           painter.paint(dot);
74           //move painter back
75           painter.mbk(25); painter.mrt(150);
76           dot.x2();
77   
78       }
79   
80       private void paintYellowCircles (SPainter painter, SCircle dot) {
81           painter.setColor(Color.YELLOW);
82   
83           //top circle
84           painter.mfd(185);
85           painter.paint(dot);
86           //move painter back
87           painter.mbk(185);
88   
89           //bottom circle
90           painter.mbk(185);
91           painter.paint(dot);
92           //move painter back
93           painter.mfd(185);
94   
95       }
96   
97       private void paintGreenCircles (SPainter painter, SCircle dot) {
98           painter.setColor(Color.GREEN);
99           //left circle
100          dot.setRadius(60);
101          painter.mlt(180);
102          painter.mbk(110);
103          painter.paint(dot);
104          //move painter back
105          painter.mrt(180);
106          painter.mfd(110);
107  
108          //right circle
109          painter.mrt(180);
110          painter.mbk(110);
111          painter.paint(dot);
112          //move painter back
113          painter.mlt(180);
114          painter.mfd(110);
115  
116      }
117  
118  
119  }