Dots.java
1    package npw;
2    
3    import java.awt.Color;
4    import java.awt.geom.Point2D;
5    import javax.swing.SwingUtilities;
6    import painter.SPainter;
7    import shapes.SCircle;
8    import shapes.SRectangle;
9    import shapes.SSquare;
10   
11   public class Dots {
12   
13       //THE SOLUTION TO THE Kanizsa Square problem
14   
15       private void paintTheImage() {
16           SPainter painter = new SPainter("Dots",900,500);
17   
18           SCircle dot = new SCircle(40);
19           paintBlueCircle(painter, dot);
20           paintRedCircle(painter, dot);
21           SCircle dot2 = new SCircle(20);
22           paintGreenCircles(painter, dot2);
23           paintYellowCircle(painter,dot2);
24           SCircle dot3 = new SCircle(10);
25           paintBlueCircle2(painter, dot3);
26           paintRedCircle2(painter, dot3);
27           SCircle dot4 = new SCircle(5);
28           paintGreenCircles2(painter, dot4);
29           paintYellowCircle2(painter,dot4);
30           SCircle dot5 = new SCircle(5);
31           paintYellowCircle3(painter, dot5);
32   
33       }
34   
35       private void paintYellowCircle3(SPainter painter, SCircle dot) {
36           painter.setColor(Color.yellow);
37           painter.mfd(100);
38           painter.paint(dot);
39       }
40   
41       private void paintYellowCircle2(SPainter painter, SCircle dot) {
42           painter.setColor(Color.yellow);
43           painter.mfd(100);
44           painter.paint(dot);
45       }
46   
47       private void paintGreenCircles2(SPainter painter, SCircle dot) {
48           painter.setColor(Color.green);
49           painter.mfd(100);
50           painter.paint(dot);
51       }
52   
53       private void paintRedCircle2(SPainter painter, SCircle dot) {
54           painter.setColor(Color.red);
55           painter.mfd(100);
56           painter.paint(dot);
57       }
58   
59       private void paintBlueCircle2(SPainter painter, SCircle dot) {
60           painter.setColor(Color.blue);
61           painter.mrt(100);
62           painter.paint(dot);
63       }
64   
65   
66       private void paintYellowCircle(SPainter painter, SCircle dot) {
67           painter.setColor(Color.yellow);
68           painter.mbk(100);
69           painter.paint(dot);
70       }
71   
72       private void paintWhiteSquare(SPainter painter, SSquare square) {
73       }
74   
75       private void paintGreenCircles(SPainter painter, SCircle dot) {
76           painter.setColor(Color.green);
77           painter.mbk(100);
78           painter.paint(dot);
79       }
80   
81       private void paintRedCircle(SPainter painter, SCircle dot) {
82           painter.setColor(Color.red);
83           painter.mbk(100);
84           painter.paint(dot);
85       }
86   
87       private void paintBlueCircle(SPainter painter, SCircle dot) {
88           painter.setColor(Color.blue);
89           painter.mfd(100);
90           painter.paint(dot);
91       }
92   
93       //REQUIRED INFRASTRUCTURE
94   
95       public Dots() {
96           paintTheImage();
97       }
98   
99       public static void main(String[] args) {
100          SwingUtilities.invokeLater(new Runnable() {
101              public void run() {
102                  new Dots();
103              }
104          });
105      }
106  }