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