Dots.java
1    /* 
2     * Program to paint 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   import painter.SPainter;
11   import shapes.SCircle;
12   
13   public class Dots {
14       // THE SOLUTION TO THE DOTS PROBLEM
15   
16       private void paintTheImage() {
17           SPainter painter = new SPainter("Dots",600,600);
18           SCircle dot = new SCircle(25);
19   
20           //Middle Ciricle
21           painter.setColor(Color.BLACK);
22           painter.paint(dot);
23   
24           //Large Circles
25           SCircle large = new SCircle(100);
26           painter.setColor(Color.BLUE);
27           painter.mfd(150);
28           painter.mrt(150);
29           painter.paint(large);
30           painter.mbk(150);
31           painter.mlt(150);
32           painter.mfd(150);
33           painter.mlt(150);
34           painter.paint(large);
35           painter.mbk(150);
36           painter.mrt(150);
37   
38           // Medium Circles
39           SCircle medium = new SCircle(50);
40           painter.setColor(Color.RED);
41           painter.mrt(150);
42           painter.mbk(50);
43           painter.paint(medium);
44           painter.mfd(50);
45           painter.mlt(150);
46   
47           painter.mlt(150);
48           painter.mbk(50);
49           painter.paint(medium);
50           painter.mrt(150);
51           painter.mfd(150);
52   
53           //small circles
54           SCircle small = new SCircle(12.5);
55           painter.setColor(Color.GREEN);
56           painter.mrt(200);
57           painter.mbk(300);
58           painter.paint(small);
59           painter.mlt(200);
60           painter.mfd(300);
61   
62           painter.mlt(200);
63           painter.mbk(300);
64           painter.paint(small);
65           painter.mfd(300);
66           painter.mrt(200);
67   
68           painter.mrt(150);
69           painter.mbk(300);
70           painter.paint(small);
71           painter.mlt(150);
72           painter.mfd(300);
73   
74           painter.mlt(150);
75           painter.mbk(300);
76           painter.paint(small);
77           painter.mfd(300);
78           painter.mrt(150);
79   
80   
81   
82   
83   
84   
85   
86   
87       }
88   
89       // REQUIRED INFRASTRUCTURE
90   
91       public Dots() {
92           paintTheImage();
93       }
94   
95       public static void main(String[] args) {
96           SwingUtilities.invokeLater(new Runnable() {
97               public void run() {
98                   new Dots();
99               }
100          });
101      }
102  
103  }
104