Dots.java
/* 
 * Program to paint a series of dots in the context of the Nonrepresentational 
 * Painting World, NPW. 
 */
package npw;

        import java.awt.Color;
        import javax.swing.SwingUtilities;
        import painter.SPainter;
        import shapes.SCircle;

public class Dots {

    // THE SOLUTION TO THE DOTS PROBLEM
    private void paintTheImage() {
        SPainter painter = new SPainter("Dots", 1200, 1200);
        SCircle dots = new SCircle(70);
        painter.setColor(Color.ORANGE);
        painter.moveToCenter();
        painter.mlt(300);
        painter.paint(dots);

        painter.setColor(Color.orange);
        painter.moveToCenter();
        painter.mrt(300);
        painter.paint(dots);

        painter.setColor(Color.BLACK);
        painter.moveToCenter();
        painter.paint(dots);

        painter.setColor(Color.lightGray);
        painter.moveToCenter();
        dots.shrink(10);
        painter.mrt(360);
        painter.mfd(130);
        painter.paint(dots);

        painter.setColor(Color.lightGray);
        painter.moveToCenter();
        dots.shrink(10);
        painter.mlt(360);
        painter.mfd(130);
        painter.paint(dots);

        painter.setColor(Color.PINK);
        painter.moveToCenter();
        dots.expand(40);
        painter.mrt(400);
        painter.mfd(310);
        painter.paint(dots);

        painter.setColor(Color.PINK);
        painter.moveToCenter();
        painter.mlt(400);
        painter.mfd(310);
        painter.paint(dots);

        painter.setColor(Color.BLUE);
        painter.moveToCenter();
        painter.mlt(300);
        painter.mfd(500);
        painter.paint(dots);

        painter.setColor(Color.BLUE);
        painter.moveToCenter();
        painter.mrt(300);
        painter.mfd(500);
        painter.paint(dots);


    }
// REQUIRED INFRASTRUCTURE

    public Dots() {
        paintTheImage();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new Dots();
            }
        });
    }
}