KanizsaSquare.java
1    package npw;
2    
3    import java.awt.Color;
4    import javax.swing.SwingUtilities;
5    import painter.SPainter;
6    import shapes.SCircle;
7    import shapes.SSquare;
8    
9    public class KanizsaSquare {
10       private void paintTheImage() {
11           SPainter painter = new SPainter("Kanizsa Square", 400, 400);
12   
13           SCircle dot = new SCircle(75);
14   
15           paintBlueCircle(painter, dot); {
16   
17           }
18   
19           paintRedCircle(painter, dot); {
20           }
21   
22           paintGreenCircles(painter, dot); {
23           }
24   
25           SSquare square = new SSquare(200);
26           paintWhiteSquare(painter, square);{
27   
28           }
29   
30       }
31   
32       private void paintWhiteSquare(SPainter painter, SSquare square) {
33           painter.setColor(Color.white);
34           painter.paint(square);
35       }
36   
37   
38       private void paintGreenCircles(SPainter painter, SCircle dot) {
39           painter.setColor(Color.green);
40           painter.mfd(100);
41           painter.mrt(100);
42           painter.paint(dot);
43           painter.mbk(200);
44           painter.mlt(200);
45           painter.paint(dot);
46           painter.moveToCenter();
47       }
48   
49       private void paintRedCircle(SPainter painter, SCircle dot) {
50           painter.setColor(Color.red);
51           painter.mbk(100);
52           painter.mrt(100);
53           painter.paint(dot);
54           painter.moveToCenter();
55       }
56   
57       private void paintBlueCircle(SPainter painter, SCircle dot) {
58           painter.setColor(Color.blue);
59           painter.mfd(100);
60           painter.mlt(100);
61           painter.paint(dot);
62           painter.moveToCenter();
63       }
64       public KanizsaSquare(){
65           paintTheImage();
66       }
67   
68       public static void main(String[] args) {
69           SwingUtilities.invokeLater(new Runnable() {
70               public void run() {
71                   new KanizsaSquare();
72               }
73           });
74       }
75   }
76   
77