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