Dots.java
1    /* 
2     * Program to paint a blue dot in the context of the Nonrepresentational 
3     * Painting World, NPW. 
4     */
5    
6    package npw;
7    
8    import java.awt.Color;
9    import javax.swing.SwingUtilities;
10   import painter.SPainter;
11   import shapes.SCircle;
12   import shapes.SSquare;
13   
14   public class Dots {
15       // THE SOLUTION TO THE BLUE DOT PROBLEM
16   
17       private void paintingCode() {
18           SPainter painter = new SPainter("Blue Dot", 800, 800);
19   
20           SCircle dot = new SCircle(50);
21           painter.setColor(Color.GREEN);
22           painter.paint(dot);
23   
24           paintPinkCircle1(painter, dot);
25           paintGreenCircle1(painter, dot);
26           paintPinkCircle2(painter, dot);
27           paintCyanCircle1(painter, dot);
28           paintYellowCircle1(painter, dot);
29           paintCyanCircle2(painter, dot);
30           paintYellowCircle2(painter, dot);
31           paintPinkCircle3(painter, dot);
32   
33   
34       }
35   
36       // REQUIRED INFRASTRUCTURE
37   
38       public Dots() {
39           paintingCode();
40       }
41   
42       public static void main(String[] args) {
43           SwingUtilities.invokeLater(new Runnable() {
44               public void run() {
45                   new Dots();
46               }
47           });
48       }
49       private void paintPinkCircle1(SPainter painter, SCircle dot) {
50           painter.setColor(Color.GREEN);
51           painter.mbk(140);
52           painter.paint(dot);
53           painter.mfd(140);
54       }
55   
56       private void paintGreenCircle1(SPainter painter, SCircle dot) {
57           painter.setColor(Color.YELLOW);
58           dot.x2();
59           painter.mlt(280);
60           painter.mfd(120);
61           painter.paint(dot);
62           painter.mrt(280);
63           painter.mbk(120);
64       }
65   
66       private void paintPinkCircle2(SPainter painter, SCircle dot) {
67           painter.setColor(Color.YELLOW);
68           painter.mrt(280);
69           painter.mfd(120);
70           painter.paint(dot);
71           painter.mlt(280);
72           painter.mbk(120);
73           dot.s2();
74       }
75   
76       private void paintCyanCircle1(SPainter painter, SCircle dot) {
77           painter.setColor(Color.CYAN);
78           dot.x3();
79           painter.mlt(200);
80           painter.mbk(242);
81           painter.paint(dot);
82           painter.mrt(200);
83           painter.mfd(242);
84       }
85   
86       private void paintYellowCircle1(SPainter painter, SCircle dot) {
87           painter.setColor(Color.CYAN);
88           painter.mrt(200);
89           painter.mbk(242);
90           painter.paint(dot);
91           painter.mlt(200);
92           painter.mfd(242);
93       }
94   
95       private void paintCyanCircle2(SPainter painter, SCircle dot) {
96           painter.setColor(Color.CYAN);
97           dot.s2();
98           painter.mfd(200);
99           painter.paint(dot);
100          painter.mbk(200);
101      }
102  
103      private void paintYellowCircle2(SPainter painter, SCircle dot) {
104          painter.setColor(Color.PINK);
105          painter.mfd(300);
106          painter.mlt(230);
107          painter.paint(dot);
108          painter.mbk(300);
109          painter.mrt(230);
110      }
111  
112      private void paintPinkCircle3(SPainter painter, SCircle dot) {
113          painter.setColor(Color.PINK);
114          painter.mfd(300);
115          painter.mrt(230);
116          painter.paint(dot);
117      }
118  }