KanizsaSquare.java
1    /* 
2     * Program to paint a blue dot in the context of Nonrepresentational 
3     * Painting World, NPW. 
4     */
5    
6    package npw;
7    
8    import java.awt.Color;
9    import javax.swing.SwingUtilities;
10   import painter.SPainter;
11   import shapes.SCircle;
12   import shapes.SSquare;
13   
14   public class KanizsaSquare {
15   
16       // THE SOLUTION TO THE BLUE DOT PROBLEM
17   
18       private void paintTheImage() {
19           SPainter painter = new SPainter("Kanzia square", 400, 400);
20   
21           SCircle dot = new SCircle(75);
22           paintBlueCirlcle(painter,dot);
23           painter.setColor(Color.BLUE);
24           painter.mfd(100);
25           painter.mlt(100);
26           painter.paint(dot);
27   
28           paintredCirlce(painter,dot);
29           painter.setColor(Color.RED);
30           painter.moveToCenter();
31           painter.mbk(100);
32           painter.mrt(100);
33           painter.paint(dot);
34   
35           paintGreenCircles(painter,dot);
36           painter.setColor(Color.GREEN);
37           painter.moveToCenter();
38           painter.mfd(100);
39           painter.mrt(100);
40           painter.paint(dot);
41   
42           painter.setColor(Color.GREEN);
43           painter.moveToCenter();
44           painter.mbk(100);
45           painter.mlt(100);
46           painter.paint(dot);
47   
48           paintWhiteSquare(painter,dot);
49           SSquare square = new SSquare(200);
50           painter.setColor(Color.WHITE);
51           painter.moveToCenter();
52           painter.paint(square);
53       }
54   
55       private void paintWhiteSquare(SPainter painter, SCircle dot) {
56       }
57   
58       private void paintGreenCircles(SPainter painter, SCircle dot) {
59       }
60   
61       private void paintBlueCirlcle(SPainter painter, SCircle dot) {
62       }
63   
64       private void paintredCirlce(SPainter painter, SCircle dot) {
65       }
66   
67       // Required Infrastructure
68   
69       public KanizsaSquare() {
70           paintTheImage();
71       }
72   
73       public static void main(String[] args)  {
74           SwingUtilities.invokeLater(new Runnable() {
75               public void run() {
76                   new KanizsaSquare();
77               }
78           });
79       }
80   
81   }
82