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