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