KanizsaSquare.java
1    package npw;
2    
3    
4    import java.awt.Color;
5    import javax.swing.SwingUtilities;
6    import painter.SPainter;
7    import shapes.SCircle;
8    import shapes.SSquare;
9    
10   
11   public class KanizsaSquare {
12   
13   
14   
15   
16   
17   
18       private void paintTheImage() {
19           SPainter klee = new SPainter("Kanizsa Square",400,400);
20   
21   
22   
23   
24           SCircle dot = new SCircle(75);
25         paintBlueCircle(klee,dot);
26   
27           paintRedCircle(klee,dot);
28   
29           paintGreenCircle(klee,dot);
30   
31   
32   
33           SSquare square = new SSquare(200);
34   
35           paintWhiteSquare(klee,square);
36   
37   
38   
39       }
40   
41   
42   
43   
44   
45       private void paintRedCircle(SPainter klee, SCircle dot) {
46           klee.setColor(Color.red);
47           klee.mrt(100);
48           klee.mbk(100);
49           klee.paint(dot);
50           klee.moveToCenter();
51       }
52   
53       private void paintBlueCircle(SPainter klee, SCircle dot) {
54           klee.setColor(Color.blue);
55           klee.mlt(100);
56           klee.mfd(100);
57           klee.paint(dot);
58           klee.moveToCenter();
59       }
60       private void paintWhiteSquare(SPainter klee, SSquare square) {
61           klee.moveToCenter();
62           klee.setColor(Color.white);
63           klee.paint(square);
64   
65   
66       }
67       private void paintGreenCircle(SPainter klee, SCircle dot) {
68   
69           klee.setColor(Color.green);
70           klee.moveToCenter();
71           klee.mrt(100);
72           klee.mfd(100);
73   
74   
75           klee.paint(dot);
76   
77          SCircle dot1 = new SCircle(75);
78           klee.moveToCenter();
79           klee.setColor(Color.green);
80           klee.mlt(100);
81           klee.mbk(100);
82   
83           klee.paint(dot1);
84   
85   
86       }
87   
88   
89   
90   
91   
92   
93   
94   
95       // required infrastructure
96   
97   
98   
99   
100  
101  
102      public  KanizsaSquare() {
103  
104          paintTheImage();
105  
106  
107  
108  
109      }
110  
111  
112      public static void main(String[] args)  {
113          SwingUtilities.invokeLater(new Runnable() {
114              public void run() {
115                  new  KanizsaSquare();
116              }
117  
118  
119          });
120      }
121  
122  
123  }
124  
125  
126  
127  
128  
129  
130  
131  
132  
133  
134  
135