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