KanizsaSquare.java
1    package npw;
2    
3    import javax.swing.SwingUtilities;
4    import painter.SPainter;
5    import shapes.SCircle;
6    import shapes.SSquare;
7    import java.awt.Color;
8    
9    
10   public class KanizsaSquare {
11   
12   
13       private void paintTheImage() {
14           SPainter klee = new SPainter("Kanizsa Square", 400,400);
15           SCircle dot = new SCircle(75);
16           paintBlueCircle(klee, dot);
17           paintRedCircle(klee, dot);
18           paintGreenCircles(klee, dot);
19   
20          SSquare square = new SSquare(250);
21   
22           paintWhiteSquare(klee, square);
23       }
24   
25       private void paintWhiteSquare(SPainter klee, SSquare square) {
26           klee.setColor(Color.WHITE);
27           klee.paint(square);
28       }
29   
30       private void paintBlueCircle(SPainter klee, SCircle dot) {
31           klee.setColor(Color.BLUE);
32           klee.mfd(125.0);
33           klee.mlt(125.0);
34           klee.paint(dot);
35           klee.mlt(300.0);
36           klee.paint(dot);
37           klee.moveToCenter();
38           
39       }
40   
41       private void paintRedCircle(SPainter klee, SCircle dot) {
42          klee.setColor(Color.RED);
43           klee.mfd(125.0);
44           klee.mlt(125.0);
45           //klee.paint(dot);
46           klee.mrt(250.0);
47           klee.mbk(250.0);
48           klee.paint(dot);
49           klee.moveToCenter();
50       }
51   
52       private void paintGreenCircles(SPainter klee, SCircle dot) {
53           klee.setColor(Color.GREEN);
54          //top right dot
55           klee.mrt(450.0);
56           klee.mfd(325.0);
57           klee.mbk(200.0);
58           klee.mlt(320.0);
59           klee.paint(dot);
60           klee.moveToCenter();
61   
62   
63           //bottom left dot
64           klee.setColor(Color.GREEN);
65           klee.mfd(25.0);
66           klee.mlt(250.0);
67           klee.mrt(125.0);
68           klee.mbk(150.0);
69           klee.paint(dot);
70           klee.moveToCenter();
71   
72   
73       }
74   
75       public KanizsaSquare(){
76           paintTheImage();
77       }
78       public static void main(String[] args) {
79           SwingUtilities.invokeLater(new Runnable() {
80               public void run() {
81                   new KanizsaSquare();
82               }
83           });
84       }
85   }
86