1 /* 2 * Program to paint dots in the context of the Nonrepresentational 3 * Painting World, NPW. 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 // THE SOLUTION TO THE DOTS PROBLEM 14 private void paintTheImage() { 15 SPainter painter = new SPainter("Dots", 400, 400); 16 SCircle bdot = new SCircle(20); 17 SCircle rdot = new SCircle(35); 18 SCircle gdot = new SCircle(50); 19 SCircle odot = new SCircle(5); 20 paintBlueCircles(painter, bdot); 21 paintRedCircles(painter, rdot); 22 paintGreenCircles(painter, gdot); 23 paintOrangeCircles(painter, odot); 24 } 25 26 // REQUIRED INFRASTRUCTURE 27 public Dots() { 28 paintTheImage(); 29 } 30 31 public static void main(String[] args) { 32 SwingUtilities.invokeLater(new Runnable() { 33 public void run() { 34 new Dots(); 35 } 36 }); 37 } 38 39 private void paintBlueCircles(SPainter painter, SCircle bdot) { 40 painter.setColor(Color.BLUE); 41 painter.moveToCenter(); 42 painter.mfd(bdot.radius()); 43 painter.mlt(bdot.radius()); 44 painter.paint(bdot); 45 painter.moveToCenter(); 46 painter.mfd(bdot.radius()); 47 painter.mrt(bdot.radius()); 48 painter.paint(bdot); 49 } 50 51 private void paintRedCircles(SPainter painter, SCircle rdot) { 52 painter.setColor(Color.RED); 53 painter.moveToCenter(); 54 painter.mbk(rdot.radius()); 55 painter.mrt(rdot.radius()); 56 painter.paint(rdot); 57 painter.moveToCenter(); 58 painter.mbk(rdot.radius()); 59 painter.mlt(rdot.radius()); 60 painter.paint(rdot); 61 } 62 63 private void paintGreenCircles(SPainter painter, SCircle gdot) { 64 painter.setColor(Color.GREEN); 65 painter.moveToCenter(); 66 painter.mbk(gdot.diameter()); 67 painter.mrt(gdot.diameter()); 68 painter.paint(gdot); 69 painter.moveToCenter(); 70 painter.mbk(gdot.diameter()); 71 painter.mlt(gdot.diameter()); 72 painter.paint(gdot); 73 } 74 private void paintOrangeCircles(SPainter painter, SCircle odot) { 75 painter.setColor(Color.ORANGE); 76 painter.moveToCenter(); 77 painter.mfd(odot.diameter()); 78 painter.mlt(odot.diameter()); 79 painter.mfd(odot.diameter()); 80 painter.mfd(odot.diameter()); 81 painter.mfd(odot.diameter()); 82 painter.mfd(odot.diameter()); 83 painter.paint(odot); 84 painter.moveToCenter(); 85 painter.mfd(odot.diameter()); 86 painter.mrt(odot.diameter()); 87 painter.mfd(odot.diameter()); 88 painter.mfd(odot.diameter()); 89 painter.mfd(odot.diameter()); 90 painter.mfd(odot.diameter()); 91 painter.paint(odot); 92 painter.moveToCenter(); 93 painter.paint(odot); 94 } 95 } 96