1 /* 2 * write a program called Dots within the npw package to paint an image consisting exclusively of dots (painted circles) 3 */ 4 5 package npw; 6 7 import java.awt.Color; 8 import javax.swing.SwingUtilities; 9 import painter.SPainter; 10 import shapes.SCircle; 11 12 public class Dots { 13 14 private void paintTheImage() { 15 SPainter painter = new SPainter("Dots",600,600); 16 17 SCircle dot = new SCircle(100); 18 paintCyanCircles(painter, dot); 19 paintMagentaCircles(painter, dot); 20 paintYellowCircles(painter, dot); 21 paintGreenCircles(painter, dot); 22 23 24 } 25 26 //REQUIRED INFRASTRUCTURE 27 28 public Dots() { 29 paintTheImage(); 30 } 31 32 public static void main(String[] args) { 33 SwingUtilities.invokeLater(new Runnable() { 34 public void run() { 35 new Dots(); 36 } 37 }); 38 } 39 40 private void paintCyanCircles (SPainter painter, SCircle dot) { 41 //center circle 42 painter.setColor(Color.CYAN); 43 dot.s2(); 44 painter.paint(dot); 45 dot.x2(); 46 47 //left circle 48 dot.setRadius(80); 49 painter.mlt(200); painter.mfd(175); 50 painter.paint(dot); 51 painter.mrt(200); painter.mbk(175); 52 53 //right circle 54 painter.mrt(200); painter.mfd(175); 55 painter.paint(dot); 56 painter.mlt(200); painter.mbk(175); 57 dot.setRadius(100); 58 59 60 } 61 62 private void paintMagentaCircles (SPainter painter, SCircle dot) { 63 painter.setColor(Color.MAGENTA); 64 //right circle 65 dot.s2(); 66 painter.mfd(25); painter.mrt(150); 67 painter.paint(dot); 68 //move painter back 69 painter.mbk(25); painter.mlt(150); 70 71 //left circle 72 painter.mfd(25); painter.mlt(150); 73 painter.paint(dot); 74 //move painter back 75 painter.mbk(25); painter.mrt(150); 76 dot.x2(); 77 78 } 79 80 private void paintYellowCircles (SPainter painter, SCircle dot) { 81 painter.setColor(Color.YELLOW); 82 83 //top circle 84 painter.mfd(185); 85 painter.paint(dot); 86 //move painter back 87 painter.mbk(185); 88 89 //bottom circle 90 painter.mbk(185); 91 painter.paint(dot); 92 //move painter back 93 painter.mfd(185); 94 95 } 96 97 private void paintGreenCircles (SPainter painter, SCircle dot) { 98 painter.setColor(Color.GREEN); 99 //left circle 100 dot.setRadius(60); 101 painter.mlt(180); 102 painter.mbk(110); 103 painter.paint(dot); 104 //move painter back 105 painter.mrt(180); 106 painter.mfd(110); 107 108 //right circle 109 painter.mrt(180); 110 painter.mbk(110); 111 painter.paint(dot); 112 //move painter back 113 painter.mlt(180); 114 painter.mfd(110); 115 116 } 117 118 119 }