1 /* 2 * Program to paint Dots in the context of the Nonrepresentational 3 * Painting World, NPW. 4 */ 5 6 package npw; 7 8 import painter.SPainter; 9 import shapes.SCircle; 10 import shapes.SSquare; 11 import javax.swing.*; 12 import java.awt.*; 13 14 public class Dots { 15 //THE SOLUTION TO THE DOTS PROBLEM 16 private void paintTheImage() { 17 SPainter painter = new SPainter("Dots",1000,1000); 18 19 SCircle dot = new SCircle(60); 20 SCircle circle = new SCircle(7.5); 21 paintRedCircles(painter, dot); 22 paintYellowCircles(painter, dot); 23 paintGreenCircles(painter, dot); 24 PaintBlueCircles(painter, dot); 25 drawColoredCircles(painter,circle); 26 27 } 28 29 30 31 private void paintRedCircles(SPainter painter, SCircle dot) { 32 painter.mfd(300); painter.mlt(300); 33 painter.setColor(Color.RED); painter.draw(dot); painter.paint(dot); 34 painter.mrt(600); painter.paint(dot); painter.moveToCenter(); 35 painter.mbk(300);painter.paint(dot); painter.moveToCenter(); 36 } 37 private void paintYellowCircles(SPainter painter, SCircle dot) { 38 painter.mfd(300); painter.mrt(100); 39 painter.setColor(Color.YELLOW); painter.draw(dot); painter.paint(dot); 40 painter.mlt(200); painter.paint(dot); painter.moveToCenter(); 41 } 42 private void paintGreenCircles(SPainter painter, SCircle dot) { 43 painter.mbk(300); painter.mlt(400); 44 painter.setColor(Color.GREEN); painter.draw(dot); painter.paint(dot); 45 painter.mrt(800); painter.paint(dot); painter.moveToCenter(); 46 } 47 private void PaintBlueCircles(SPainter painter, SCircle dot) { 48 painter.mbk(300); painter.mlt(200); 49 painter.setColor(Color.BLUE); painter.draw(dot); painter.paint(dot); 50 painter.mrt(400); painter.paint(dot); painter.moveToCenter(); 51 } 52 private void drawColoredCircles(SPainter painter, SCircle circle) { 53 painter.mfd(300); painter.setColor(Color.RED); painter.draw(circle); 54 painter.mbk(100); circle.x2(); painter.setColor(Color.BLUE); painter.draw(circle); 55 painter.mbk(150); circle.x2(); painter.setColor(Color.GREEN); painter.draw(circle); 56 painter.mbk(200); circle.x2(); painter.setColor(Color.YELLOW); painter.draw(circle); 57 painter.moveToCenter(); 58 } 59 // REQUIRED INFRASTRUCTURE 60 61 public Dots() { 62 paintTheImage(); 63 } 64 65 public static void main(String[] args) { 66 SwingUtilities.invokeLater(new Runnable() { 67 public void run() { 68 new Dots(); 69 } 70 }); 71 } 72 } 73 74