PumpItUp.java
1    package npw;
2    
3    import painter.SPainter;
4    import shapes.SSquare;
5    
6    import javax.swing.*;
7    import java.awt.*;
8    
9    
10   
11   public class PumpItUp {
12   static double sideOfSquare;
13   
14       public void paintYellowSquare(SPainter painter, SSquare square){
15           painter.setColor(Color.YELLOW);
16           painter.paint(square);
17       }
18   
19       public void paintRedSquares(SPainter painter, SSquare square){
20           painter.setColor(Color.RED);
21   
22           painter.mfd(sideOfSquare);
23           painter.mlt(sideOfSquare);
24           painter.paint(square);
25           painter.moveToCenter();
26   
27           painter.mfd(sideOfSquare);
28           painter.mrt(sideOfSquare);
29           painter.paint(square);
30           painter.moveToCenter();
31       }
32   
33       public void paintBlueSquares(SPainter painter, SSquare square){
34           painter.setColor(Color.BLUE);
35   
36           painter.mbk(sideOfSquare);
37           painter.mlt(sideOfSquare);
38           painter.paint(square);
39           painter.moveToCenter();
40   
41           painter.mbk(sideOfSquare);
42           painter.mrt(sideOfSquare);
43           painter.paint(square);
44           painter.moveToCenter();
45       }
46   
47       public void paintGraySquares(SPainter painter, SSquare square){
48           painter.setColor(Color.GRAY);
49   
50           painter.mbk(sideOfSquare);
51           painter.paint(square);
52           painter.moveToCenter();
53   
54           painter.mfd(sideOfSquare);
55           painter.paint(square);
56           painter.moveToCenter();
57   
58           painter.mlt(sideOfSquare);
59           painter.paint(square);
60           painter.moveToCenter();
61   
62           painter.mrt(sideOfSquare);
63           painter.paint(square);
64           painter.moveToCenter();
65       }
66   
67       private void paintTheImage() {
68           SPainter painter = new SPainter("PumpItUp",600,600);
69           SSquare square = new SSquare(150);
70           sideOfSquare = square.side();
71           paintYellowSquare (painter,square);
72           paintRedSquares(painter,square);
73           paintBlueSquares(painter,square);
74           paintGraySquares(painter,square);
75       }
76       // REQUIRED INFRASTRUCTURE
77       public PumpItUp() {
78           paintTheImage();
79       }
80       public static void main(String[] args) {
81           SwingUtilities.invokeLater(new Runnable() { //Static
82               public void run() {
83                   new PumpItUp();
84               }
85           });
86       }}
87