FunSquares.java
/* 
 * Program to paint a blue dot in the context of the nonrepresentational 
 * Painting World, NPW. 
 */

package npw;

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

public class FunSquares {
    private void paintingCode() {
        SPainter painter = new SPainter("Fun Squares", 600, 600);
        SSquare square = new SSquare(150);
        paintYellowSquare(painter , square);
        paintRedSquare(painter , square);
        paintBlueSquare(painter , square);
        paintGraySquare(painter , square);

    }
    private void paintYellowSquare(SPainter painter, SSquare square) {
        square.resetSide(75);
        painter.setColor(Color.yellow);
        painter.paint(square);
    }
    private void paintRedSquare(SPainter painter, SSquare square) {
        square.resetSide(75);
        painter.setColor(Color.red);
        painter.mfd(150);
        painter.mrt(150);
        painter.paint(square);
        painter.mlt(300);
        painter.paint(square);
    }
    private void paintBlueSquare(SPainter painter, SSquare square) {
        square.resetSide(75);
        painter.setColor(Color.blue);
        painter.mbk(300);
        painter.paint(square);
        painter.mrt(300);
        painter.paint(square);

    }
    private void paintGraySquare(SPainter painter, SSquare square) {
        square.resetSide(150);
        painter.setColor(Color.gray);
        painter.mfd(150);
        painter.paint(square);
        painter.mfd(150);
        painter.mlt(150);
        painter.paint(square);
        painter.mlt(150);
        painter.mbk(150);
        painter.paint(square);
        painter.mbk(150);
        painter.mrt(150);
        painter.paint(square);

    }

    public FunSquares() {
        paintingCode();
    }

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

            }
        });
    }
}