KanizsaSquare.java
package npw;
import java.awt.Color;
import javax.swing.SwingUtilities;
import painter.SPainter;
import shapes.SCircle;
import shapes.SSquare;
// painter's creation
public class KanizsaSquare {
    private void PaintTheImage(){
        SPainter painter = new SPainter("Kanizsa Square",400,400);
        SCircle dot = new SCircle(75);
        paintBlueCircle(painter, dot);
        paintRedCircle(painter, dot);
        paintGreenCircles(painter, dot);
        SSquare square = new SSquare(200);
        paintWhiteSquare(painter, square);

    }
// Object Painting method

    private void paintBlueCircle(SPainter painter, SCircle dot) {
        painter.setColor(Color.blue);
        painter.mfd(100);
        painter.mlt(100);
        painter.paint(dot);
        painter.moveToCenter();
    }

    private void paintRedCircle(SPainter painter, SCircle dot) {
        painter.setColor(Color.red);
        painter.mrt(100);
        painter.mbk(100);
        painter.paint(dot);
        painter.moveToCenter();


    }

    private void paintGreenCircles(SPainter painter, SCircle dot) {
        painter.setColor(Color.green);
        painter.mlt(100);
        painter.mbk(100);
        painter.paint(dot);
        painter.mfd(200);
        painter.mrt(200);
        painter.paint(dot);
    }
    private void paintWhiteSquare(SPainter painter, SSquare square) {
        painter.setColor(Color.white);
        painter.moveToCenter();
        painter.paint(square);
    }

    // Main Method
    public KanizsaSquare(){
        PaintTheImage();
    }
    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                new KanizsaSquare();
            }
        });

    }
}