Dots.java
1    /* 
2     *Program to paint an image consisting exclusively of dots 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   
11   import painter.SPainter;
12   import painter.SPainter;
13   import shapes.SCircle;
14   import shapes.SCircle;
15   
16   public class Dots {
17       //THE SOLUTION TO THE BLUE DOT PROBLEM
18   
19       private void paintTheImage() {
20           SPainter klee = new SPainter("Dots",750,750);
21           SCircle dot = new SCircle(100);
22   
23           klee.setColor(Color.ORANGE);
24           klee.paint(dot);
25           
26           //Right side 
27           klee.moveToCenter();
28           klee.mrt(175);
29           dot.s2();
30           klee.setColor(Color.RED);
31           klee.paint(dot);
32   
33           klee.mfd(200);
34           klee.mrt(100);
35           dot.resetRadius(100);
36           dot.s3();
37           klee.setColor(Color.YELLOW);
38           klee.paint(dot);
39   
40           klee.mfd(100);
41           dot.resetRadius(100);
42           dot.s5();
43           klee.setColor(Color.PINK);
44           klee.paint(dot);
45   
46           klee.mbk(550);
47           klee.setColor(Color.PINK);
48           klee.paint(dot);
49   
50           //Left side     
51           klee.moveToCenter();
52           dot.resetRadius(100);
53           dot.s2();
54           klee.mlt(175);
55           klee.setColor(Color.RED);
56           klee.paint(dot);
57   
58           klee.mfd(200);
59           klee.mlt(100);
60           dot.resetRadius(100);
61           dot.s3();
62           klee.setColor(Color.YELLOW);
63           klee.paint(dot);
64   
65           klee.mfd(100);
66           dot.resetRadius(100);
67           dot.s5();
68           klee.setColor(Color.PINK);
69           klee.paint(dot);
70   
71           klee.mbk(550);
72           klee.setColor(Color.PINK);
73           klee.paint(dot);
74   
75       }
76       //REQUIRED INFRASTRUCTURE
77       public Dots(){
78           paintTheImage();
79       }
80       public static void main (String []args){
81           SwingUtilities.invokeLater(new Runnable() {
82               public void run() {
83                   new Dots();
84               }
85           });
86       }
87   }