Dots.java
1    /* 
2     *Program to paint a blue dot in the context of the Nonrespresentational 
3     * Painting World, NPW 
4     */
5    
6    package npw;
7    
8    import painter.SPainter;
9    import shapes.SCircle;
10   
11   import javax.swing.*;
12   import java.awt.*;
13   
14   
15   public class Dots {
16   
17       //THE SOLUTION TO THE DOTS PROBLEM
18   
19       private void paintTheImage() {
20           SPainter painter = new SPainter("DOTS", 600,600);
21           SCircle dot = new SCircle(10);
22   
23           paintBlueDots(painter, dot);
24           paintGreenDots(painter, dot);
25           paintYellowDots(painter, dot);
26           paintRedDots(painter, dot);
27   }
28   
29       private void paintRedDots(SPainter painter, SCircle dot) {
30           painter.setColor(Color.RED);
31           dot.expand(8);
32           painter.mlt(100);
33           painter.paint(dot);
34           //the first red dot
35           painter.mrt(200);
36           painter.paint(dot);
37           //second red dot
38           painter.mlt(100);
39           dot.radius();
40           //back to the original position and size
41       }
42   
43       private void paintYellowDots(SPainter painter, SCircle dot) {
44           painter.setColor(Color.YELLOW);
45           dot.expand(4);
46           painter.mbk(50);
47           painter.mlt(100);
48           painter.paint(dot);
49           //first yellow dot
50           painter.mrt(200);
51           painter.paint(dot);
52           //second dot
53           painter.mlt(100);
54           painter.mfd(50);
55           dot.radius();
56           //back to the original position and size
57   
58       }
59   
60       private void paintGreenDots(SPainter painter, SCircle dot) {
61           painter.setColor(Color.GREEN);
62           dot.expand(2);
63           painter.mbk(100);
64           painter.mlt(100);
65           painter.paint(dot);
66           //the first green dot
67           painter.mrt(200);
68           painter.paint(dot);
69           //second green dot
70           painter.mlt(100);
71           painter.mfd(100);
72           dot.shrink(2);
73           //back to the original position and size
74       }
75   
76       private void paintBlueDots(SPainter painter, SCircle dot) {
77           painter.setColor(Color.BLUE);
78           painter.paint(dot);
79           //First blue dot
80           painter.mbk(50);
81           painter.mlt(50);
82           painter.paint(dot);
83           //Second blue dot
84           painter.mrt(100);
85           painter.paint(dot);
86           //Third blue dot
87           painter.mfd(50);
88           painter.mlt(50);
89           //back to the original position
90   
91       }
92   
93       //REQUIRED INFRASTRUCTURE
94   
95   public Dots() {
96       paintTheImage();
97       }
98   public static void main (String[] args) {
99           SwingUtilities.invokeLater(new Runnable() {
100              public void run() {
101                  new Dots();
102              }
103          });
104  }
105  
106  }