/* *Program to paint 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.SCircle; import shapes.SSquare; public class KanizsaSquare { // THE SOLUTION TO THE BLUE DOT PROBLEM private void paintTheImage() { SPainter klee = new SPainter("Kanizsa Square",400,400); SCircle dot = new SCircle(75); paintBlueCircle(klee, dot); paintRedCircle(klee, dot); paintGreenCircles(klee, dot); SSquare square = new SSquare(200); paintWhiteSquare(klee, square); } private void paintBlueCircle (SPainter klee, SCircle dot) { klee.setColor(Color.BLUE); klee.mlt(100); klee.mfd(100); klee.paint(dot); klee.mrt(100); klee.mbk(100); } private void paintRedCircle (SPainter klee, SCircle dot) { klee.setColor(Color.RED); klee.mrt(100); klee.mbk(100); klee.paint(dot); klee.mlt(100); klee.mfd(100); } private void paintGreenCircles(SPainter klee, SCircle dot) { klee.setColor(Color.GREEN); klee.mlt(100); klee.mbk(100); klee.paint(dot); klee.mrt(200); klee.mfd(200); klee.paint(dot); klee.mlt(100); klee.mbk(100); } private void paintWhiteSquare(SPainter klee, SSquare square) { klee.setColor(Color.WHITE); klee.paint(square); } // REQUIRED INFASTRUCTURE public KanizsaSquare() { paintTheImage(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new KanizsaSquare(); } }); } }