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