Dots.java
/* 
 * program to paint 9 dots 
 */

package npw;

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

public class Dots {

    // THE SOLUTION TO THE BLUE DOT PROBLEM

    private void paintTheImage() {
        SPainter guy = new SPainter("Dots",1000,1000);

        SCircle dot = new SCircle(75);
        paintBlueCircle(guy, dot);

        SCircle dot1 = new SCircle(50);
        paintRedCircle(guy, dot1);

        SCircle dot2 = new SCircle(85);
        paintGreenCircles(guy, dot2);

        SCircle dot3 = new SCircle(65);
        paintYellowCircles(guy, dot3);

    }

    private void paintYellowCircles(SPainter guy, SCircle dot3) {
        //first yellow dot
        guy.mlt(150);
        guy.setColor(Color.yellow);
        guy.paint(dot3);
        guy.moveToCenter();
        //second yellow dot
        guy.mrt(150);
        guy.setColor(Color.yellow);
        guy.paint(dot3);
        guy.moveToCenter();
    }

    private void paintGreenCircles(SPainter guy, SCircle dot) {
        //forst green dot
        guy.mbk(200);
        guy.mlt(150);
        guy.setColor(Color.green);
        guy.paint(dot);
        guy.moveToCenter();
        // second green circle
        guy.mbk(200);
        guy.mrt(150);
        guy.paint(dot);
        guy.moveToCenter();
        //third green circle
        guy.mbk(100);
        guy.mlt(300);
        guy.paint(dot);
        guy.moveToCenter();
        //fouth green circle
        guy.mbk(100);
        guy.mrt(300);
        guy.paint(dot);
        guy.moveToCenter();
    }

    private void paintRedCircle(SPainter guy, SCircle dot) {
        guy.mfd(200);
        guy.setColor(Color.RED);
        guy.paint(dot);
        guy.moveToCenter();
    }

    private void paintBlueCircle(SPainter guy, SCircle dot) {
        //first blue circle
        guy.mfd(200);
        guy.mrt(200);
        guy.setColor(Color.blue);
        guy.paint(dot);
        guy.moveToCenter();
        //second blue circle
        guy.mfd(200);
        guy.mlt(200);
        guy.setColor(Color.blue);
        guy.paint(dot);
        guy.moveToCenter();
    }

//REQUIRED INFASTRUCTURE

    public Dots() {
        paintTheImage();
    }

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