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