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   
15       //THE SOLUTION TO THE DOTS PROBLEM
16   
17       private void paintTheImage() {
18           SPainter painter = new SPainter("Dots", 600,600);
19           SCircle dot = new SCircle(50);
20           paintBlueCircles (painter, dot);
21           paintGreenCircles(painter, dot);
22           paintRedCircles(painter, dot);
23           paintYellowCircles(painter, dot);
24       }
25   
26       private void paintYellowCircles(SPainter painter, SCircle dot) {
27           painter.setColor(Color.YELLOW);
28           painter.mbk (90);
29           painter.mlt(15);
30           dot.s5();
31           painter.paint(dot);
32           painter.mrt(30);
33           painter.paint(dot);
34           painter.mlt(15);
35           painter.mbk(50);
36           painter.paint(dot);
37           painter.mfd(140);
38           dot.x5();
39       }
40   
41       private void paintRedCircles(SPainter painter, SCircle dot) {
42           painter.setColor(Color.RED);
43           painter.mbk(50);
44           painter.mlt(25);
45           dot.s3();
46           painter.paint(dot);
47           painter.mrt(50);
48           painter.paint(dot);
49           painter.mlt(25);
50           painter.mfd(50);
51           dot.x3();
52       }
53   
54       private void paintGreenCircles(SPainter painter, SCircle dot) {
55           painter.setColor(Color.GREEN);
56           painter.mlt (50);
57           dot.s2();
58           painter.paint(dot);
59           painter.mrt(100);
60           painter.paint(dot);
61           painter.mlt(50);
62           dot.x2();
63       }
64   
65       private void paintBlueCircles(SPainter painter, SCircle dot) {
66           painter.setColor(Color.BLUE);
67           painter.mfd(100);
68           painter.mlt(100);
69           painter.paint(dot);
70           painter.mrt(200);
71           painter.paint(dot);
72           painter.mlt(100);
73           painter.mbk(100);
74       }
75   
76       //REQUIRED INFRASTRUCTURE
77   
78       public Dots() {
79           paintTheImage();
80       }
81   
82       public static void main(String[] args) {
83           SwingUtilities.invokeLater(new Runnable() {
84               public void run() {
85                   new Dots();
86               }
87           });
88       }
89   }
90   
91