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       public static void main(String[] args) {
11           SwingUtilities.invokeLater(new Runnable() {
12               public void run() {
13                   new KanizsaSquare();
14               }
15           });
16       }
17   
18   
19       public KanizsaSquare() {
20           paintTheImage();
21       }
22   
23       private void paintTheImage() {
24           
25           SPainter painter = new SPainter("Kanizsa Square",400,400);
26   
27           SSquare square = new SSquare(200);
28           SCircle dot = new SCircle(50);
29   
30           drawBlackSquare(painter, square);
31           paintBlueCircles(painter, dot);
32           paintGreenCircles(painter, dot);
33           paintWhiteSquare(painter, square);
34           
35       }
36   
37       private void drawBlackSquare(SPainter painter, SSquare square) {
38           painter.tr(45);
39           painter.draw(square);
40           painter.tl(45);
41       }
42   
43       private void paintBlueCircles(SPainter painter, SCircle dot) {
44           painter.mfd(100);
45           painter.mlt(100);
46           painter.setColor(Color.BLUE);
47           painter.paint(dot);
48           painter.mbk(200);
49           painter.mrt(200);
50           painter.paint(dot);
51           painter.moveToCenter();
52   
53   
54       }
55   
56       private void paintGreenCircles(SPainter painter, SCircle dot) {
57           painter.mbk(100);
58           painter.mlt(100);
59           painter.setColor(Color.GREEN);
60           painter.paint(dot);
61           painter.mfd(200);
62           painter.mrt(200);
63           painter.paint(dot);
64           painter.moveToCenter();
65   
66       }
67   
68       private void paintWhiteSquare(SPainter painter, SSquare square) {
69           painter.setColor(Color.white);
70           painter.paint(square);
71   
72       }
73   
74   
75   }