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