Dots.java
1    /* 
2     *Program to paint a blue dot in the context of the Nonrepresentational 
3     * Painting World< NPW 
4     */
5    package npw;
6    
7    import java.awt.Color;
8    import java.awt.geom.Point2D;
9    import javax.swing.SwingUtilities;
10   import painter.SPainter;
11   import shapes.SCircle;
12   
13   
14   public class Dots {
15   
16       // THE SOLUTION TO THE BLUE DOT PROBLEM
17       private void paintTheImage() {
18           SPainter painter = new SPainter("Dots",1200,1200);
19   
20           SCircle dot = new SCircle(25);
21           SCircle bob = new SCircle(50);
22           SCircle cob = new SCircle(75);
23           SCircle lob = new SCircle(100);
24           paintBlueCircle(painter, dot);
25           paintRedCircle(painter, bob);
26           paintGreenCircle(painter, cob);
27           paintPinkCircle(painter, lob);
28   
29       }
30   
31       private void paintBlueCircle(SPainter painter, SCircle dot) {
32           painter.mfd(300);
33           painter.setColor(Color.BLUE);
34           painter.paint(dot);
35           painter.moveToCenter();
36           painter.setColor(Color.BLUE);
37           painter.paint(dot);
38           painter.moveToCenter();
39           painter.mbk(300);
40           painter.setColor(Color.BLUE);
41           painter.paint(dot);
42           painter.moveToCenter();
43       }
44   
45       private void paintRedCircle(SPainter painter, SCircle bob) {
46           painter.mlt(300);
47           painter.setColor(Color.RED);
48           painter.paint(bob);
49           painter.moveToCenter();
50           painter.mrt(300);
51           painter.setColor(Color.RED);
52           painter.paint(bob);
53           painter.moveToCenter();
54       }
55   
56       private void paintPinkCircle(SPainter painter, SCircle lob) {
57           painter.mbk(300);
58           painter.mrt(300);
59           painter.setColor(Color.PINK);
60           painter.paint(lob);
61           painter.moveToCenter();
62           painter.mbk(300);
63           painter.mlt(300);
64           painter.setColor(Color.PINK);
65           painter.paint(lob);
66           painter.moveToCenter();
67   
68       }
69   
70       private void paintGreenCircle(SPainter painter, SCircle cob) {
71           painter.mfd(300);
72           painter.mrt(300);
73           painter.setColor(Color.GREEN);
74           painter.paint(cob);
75           painter.moveToCenter();
76           painter.mfd(300);
77           painter.mlt(300);
78           painter.paint(cob);
79           painter.moveToCenter();
80   
81       }
82   
83       // REQUIRED INFRASTRUCTURE
84   
85       public Dots() {
86           paintTheImage ();
87       }
88   
89       public static void main (String [] args) {
90           SwingUtilities.invokeLater(new Runnable() {
91               public void run() {
92                   new Dots();
93               }
94           });
95       }
96   }
97