KanizsaSquare.java
1    /* 
2    Program to paint blue dot in the context of the Nonrepresentational Painting World 
3     */
4    
5    package npw;
6    
7    import shapes.SSquare;
8    import java.awt.Color;
9    import javax.swing.SwingUtilities;
10   import painter.SPainter;
11   import shapes.SCircle;
12   
13   public class KanizsaSquare {
14   
15       //The Solution to the blue dot problem
16       private void paintTheImage() {
17           SPainter painter = new SPainter("Kanizsa Square",400,400);
18           SCircle dot = new SCircle(75);
19   
20           painter.setColor(Color.blue);
21           painter.mlt(100);
22           painter.mfd(100);
23           painter.paint(dot);
24           painter.moveToCenter();
25   
26           painter.setColor(Color.GREEN);
27           painter.mrt(100);
28           painter.mfd(100);
29           painter.paint(dot);
30           painter.moveToCenter();
31   
32           painter.setColor(Color.red);
33           painter.mrt(100);
34           painter.mbk(100);
35           painter.paint(dot);
36           painter.moveToCenter();
37   
38           painter.setColor(Color.green);
39           painter.mlt(100);
40           painter.mbk(100);
41           painter.paint(dot);
42           painter.moveToCenter();
43   
44           SSquare square = new SSquare(200);
45           painter.setColor(Color.white);
46           painter.moveToCenter();
47           painter.paint(square);
48   
49       }
50   
51       // Required infrastructure
52       public KanizsaSquare() {
53           paintTheImage();
54   
55       }
56   
57       public static void main(String[] args) {
58           SwingUtilities.invokeLater(new Runnable() {
59               public void run() {
60                   new KanizsaSquare();
61               }
62           });
63       }
64   
65   }