1 /* 2 * Program to paint a dots in the context of the Nonrepresentational 3 * Painting World, NPW. 4 * 5 1. it contains exactly 9 painted (filled in) circles 6 2. it contains circles of exactly 4 different sizes 7 3. it contains circles of exactly 4 different colors 8 4. none of the circles touch 9 5. the image is symmetric about the Y-axis 10 6. not all of the circles touch the Y-axis 11 */ 12 13 package npw; 14 15 import painter.SPainter; 16 import shapes.SCircle; 17 import javax.swing.*; 18 import java.awt.*; 19 20 21 public class Dots { 22 //THE SOLUTION TO THE DOTS PROBLEM 23 24 private void paintTheImage() { 25 SPainter painter = new SPainter("Dots", 500, 500); 26 SCircle dot = new SCircle(100); 27 paintDot1(painter,dot); 28 paintDot2(painter,dot); 29 paintDot3(painter,dot); 30 paintDot4(painter,dot); 31 paintDot5(painter,dot); 32 paintDot6(painter,dot); 33 paintDot7(painter,dot); 34 paintDot8(painter,dot); 35 } 36 37 private void paintDot1(SPainter painter, SCircle dot) { 38 painter.setColor(Color.PINK); 39 painter.mfd(150); 40 painter.mrt(150); 41 dot.s2(); 42 painter.paint(dot); 43 painter.mbk(150); 44 painter.mlt(150); 45 dot.x2(); 46 47 } 48 49 private void paintDot2(SPainter painter, SCircle dot) { 50 painter.setColor(Color.PINK); 51 painter.mfd(150); 52 painter.mlt(150); 53 dot.s2(); 54 painter.paint(dot); 55 dot.x2(); 56 painter.mbk(150); 57 painter.mrt(150); 58 59 } 60 61 private void paintDot3(SPainter painter, SCircle dot) { 62 painter.setColor(Color.CYAN); 63 painter.mfd(50); 64 painter.mlt(100); 65 dot.s3(); 66 painter.paint(dot); 67 dot.x3(); 68 painter.mbk(50); 69 painter.mrt(100); 70 } 71 72 private void paintDot4(SPainter painter, SCircle dot) { 73 painter.setColor(Color.CYAN); 74 painter.mfd(50); 75 painter.mrt(100); 76 dot.s3(); 77 painter.paint(dot); 78 dot.x3(); 79 painter.mbk(50); 80 painter.mlt(100); 81 82 } 83 84 private void paintDot5(SPainter painter, SCircle dot) { 85 painter.setColor(Color.MAGENTA); 86 painter.mbk(200); 87 painter.mlt(200); 88 dot.s5(); 89 painter.paint(dot); 90 painter.mfd(200); 91 painter.mrt(200); 92 dot.x5(); 93 } 94 95 private void paintDot6(SPainter painter, SCircle dot) { 96 painter.setColor(Color.MAGENTA); 97 painter.mbk(200); 98 painter.mrt(200); 99 dot.s5(); 100 painter.paint(dot); 101 painter.mfd(200); 102 painter.mlt(200); 103 dot.x5(); 104 } 105 106 private void paintDot7(SPainter painter, SCircle dot) { 107 painter.setColor(Color.RED); 108 painter.mfd(230); 109 painter.mlt(230); 110 dot.s7(); 111 painter.paint(dot); 112 painter.mbk(230); 113 painter.mrt(230); 114 dot.x7(); 115 116 } 117 118 private void paintDot8(SPainter painter, SCircle dot) { 119 painter.setColor(Color.RED); 120 painter.mfd(230); 121 painter.mrt(230); 122 dot.s7(); 123 painter.paint(dot); 124 painter.mbk(230); 125 painter.mlt(230); 126 dot.x7(); 127 128 } 129 130 131 132 //REQUIRED INFRASTRUCTURE 133 134 public Dots() { 135 paintTheImage(); 136 } 137 138 public static void main(String[] args) { 139 SwingUtilities.invokeLater(new Runnable() { 140 public void run() { 141 new Dots(); 142 } 143 }); 144 } 145 } 146 147 148