1 /* Sep 29 by Preston Elia 2 * Description: Program that paints 100 dots that are red, yellow and orange balloons in a blue sky. 3 */ 4 package npw; 5 import java.awt.Color; 6 import java.util.Random; 7 import javax.swing.SwingUtilities; 8 import painter.SPainter; 9 import shapes.SCircle; 10 import shapes.SSquare; 11 public class Balloons { 12 public Balloons() { 13 paintTheImage(); 14 } 15 16 public static void main(String[] args) { 17 SwingUtilities.invokeLater(new Runnable() { 18 public void run() { 19 new Balloons(); 20 } 21 }); 22 } 23 private void paintTheImage() { 24 SPainter painter = new SPainter("Balloons", 600, 600); 25 paintSky(painter); 26 int nrOfBalloons = 100; 27 paintBalloons(painter, nrOfBalloons); 28 } 29 private void paintSky(SPainter painter) { 30 painter.setColor(Color.BLUE); 31 SSquare sky = new SSquare(2000); 32 painter.paint(sky); 33 } 34 private void paintBalloons(SPainter painter, int nrOfBalloons) { 35 int i = 1; 36 while (i <= nrOfBalloons) { 37 paintOneBalloon(painter); 38 i = i + 1; 39 } 40 } 41 private void paintOneBalloon(SPainter painter) { 42 Random rgen = new Random(); 43 int rn = rgen.nextInt(3); 44 if (rn == 0) { 45 painter.setColor(Color.RED); 46 }else if ( rn == 1 ) { 47 painter.setColor(Color.ORANGE); 48 } else { 49 painter.setColor(Color.YELLOW); 50 } 51 painter.move(); 52 int balloonRadius = 20; 53 SCircle balloon = new SCircle(balloonRadius); 54 painter.paint(balloon); 55 painter.setColor(Color.BLACK); 56 painter.draw(balloon); 57 } 58 }