Dots.java
/* 
 *Program to paint Dots. 
 */

package npw;

import painter.SPainter;
import shapes.SCircle;

import javax.swing.*;
import java.awt.*;

public class Dots {
    private void paintTheImage() {
        SPainter painter = new SPainter("Dots", 600, 600);
        SCircle dot = new SCircle(50);
        paintBlueCircle(painter, dot);
        paintRedCircle(painter, dot);
        paintGreenCircles(painter, dot);
        paintOrangeCircle(painter,dot);
    }

    //REQUIRED INFRASTRUCTURE

    public Dots() {
        paintTheImage();
    }

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

    private void paintBlueCircle(SPainter painter, SCircle dot) {
        painter.setColor(Color.BLUE);
        painter.mfd(100);
        painter.paint(dot);
        painter.mbk(100);

        dot.s3();
        painter.mfd(25);
        painter.paint(dot);
        dot.x3();
        painter.mbk(25);
    }

    private void paintRedCircle(SPainter painter, SCircle dot) {
        painter.setColor(Color.RED);
        dot.x2();
        painter.mbk(100);
        painter.paint(dot);
        painter.mfd(100);
        dot.s2();
    }

    private void paintGreenCircles(SPainter painter, SCircle dot) {
        painter.setColor(Color.GREEN);
        painter.mfd(100);
        painter.mrt(110);
        painter.paint(dot);
        painter.mbk(100);
        painter.mlt(110);

        painter.mfd(100);
        painter.mlt(110);
        painter.paint(dot);
        painter.mbk(100);
        painter.mrt(110);

        dot.s2();
        painter.mbk(250);
        painter.paint(dot);
        dot.x2();
        painter.mfd(250);
    }
    private void paintOrangeCircle(SPainter painter, SCircle dot) {
        painter.setColor(Color.ORANGE);
        dot.s2();
        painter.mfd(200);
        painter.paint(dot);
        painter.mbk(200);
        dot.x2();

        dot.s3();
        painter.mbk(200);
        painter.mrt(200);
        painter.paint(dot);
        dot.x3();
        painter.mfd(200);
        painter.mlt(200);

        dot.s3();
        painter.mbk(200);
        painter.mlt(200);
        painter.paint(dot);
        dot.x3();
        painter.mfd(200);
        painter.mrt(200);
    }
}