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 painter.SPainter;
9    import shapes.SCircle;
10   import shapes.SSquare;
11   import javax.swing.*;
12   import java.awt.*;
13   
14   public class Dots {
15        //THE SOLUTION TO THE DOTS PROBLEM
16   private void paintTheImage() {
17       SPainter painter = new SPainter("Dots",1000,1000);
18   
19       SCircle dot = new SCircle(60);
20       SCircle circle = new SCircle(7.5);
21       paintRedCircles(painter, dot);
22       paintYellowCircles(painter, dot);
23       paintGreenCircles(painter, dot);
24       PaintBlueCircles(painter, dot);
25       drawColoredCircles(painter,circle);
26   
27   }
28   
29   
30   
31       private void paintRedCircles(SPainter painter, SCircle dot) {
32           painter.mfd(300); painter.mlt(300);
33           painter.setColor(Color.RED); painter.draw(dot); painter.paint(dot);
34           painter.mrt(600); painter.paint(dot); painter.moveToCenter();
35           painter.mbk(300);painter.paint(dot); painter.moveToCenter();
36       }
37       private void paintYellowCircles(SPainter painter, SCircle dot) {
38          painter.mfd(300); painter.mrt(100);
39          painter.setColor(Color.YELLOW); painter.draw(dot);  painter.paint(dot);
40          painter.mlt(200); painter.paint(dot); painter.moveToCenter();
41       }
42       private void paintGreenCircles(SPainter painter, SCircle dot) {
43           painter.mbk(300); painter.mlt(400);
44           painter.setColor(Color.GREEN); painter.draw(dot); painter.paint(dot);
45           painter.mrt(800); painter.paint(dot); painter.moveToCenter();
46       }
47       private void PaintBlueCircles(SPainter painter, SCircle dot) {
48           painter.mbk(300); painter.mlt(200);
49           painter.setColor(Color.BLUE); painter.draw(dot);  painter.paint(dot);
50           painter.mrt(400); painter.paint(dot); painter.moveToCenter();
51       }
52       private void drawColoredCircles(SPainter painter, SCircle circle) {
53       painter.mfd(300); painter.setColor(Color.RED); painter.draw(circle);
54       painter.mbk(100); circle.x2(); painter.setColor(Color.BLUE); painter.draw(circle);
55       painter.mbk(150); circle.x2(); painter.setColor(Color.GREEN); painter.draw(circle);
56       painter.mbk(200); circle.x2(); painter.setColor(Color.YELLOW); painter.draw(circle);
57       painter.moveToCenter();
58       }
59   // REQUIRED INFRASTRUCTURE
60   
61              public Dots() {
62                 paintTheImage();
63             }
64   
65             public static void main(String[] args) {
66                 SwingUtilities.invokeLater(new Runnable() {
67             public void run() {
68                                new Dots();
69                             }
70         });
71            }
72   }
73   
74