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