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