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