1 2 3 4 /* 5 *Program that paints 100 red, yellow and orange balloons in a blue sky. 6 * It will feature commands. 7 */ 8 9 package npw; 10 11 import java.awt.Color; 12 import java.util.Random; 13 import javax.swing.SwingUtilities; 14 import painter.SPainter; 15 import shapes.SCircle; 16 import shapes.SSquare; 17 18 public class Balloons { 19 //REQUIRED INFRASTRUCTURE 20 21 public Balloons() { 22 paintTheImage(); 23 } 24 25 public static void main(String[] args) { 26 SwingUtilities.invokeLater(new Runnable() { 27 public void run() { 28 new Balloons(); 29 } 30 }); 31 } 32 33 // THE PAINTER DOING ITS THING 34 private void paintTheImage() { 35 SPainter painter = new SPainter("balloons", 600, 600); 36 paintSky(painter); //ask intellij to generate the stub 37 int nrOfBalloons = 100; 38 paintBalloons(painter, nrOfBalloons); //ask intellij to generate the stub 39 } 40 41 private void paintSky(SPainter painter) { 42 painter.setColor(Color.BLUE); 43 SSquare sky = new SSquare(2000); 44 painter.paint(sky); 45 } 46 47 private void paintBalloons(SPainter painter, int nrOfBalloons) { 48 int i = 1 ; 49 while ( i<= nrOfBalloons) { 50 painterOneBalloon(painter); //ask IntelliJ to generrate the stub 51 i= i + 1; 52 } 53 } 54 55 private void painterOneBalloon(SPainter painter) { 56 Random rgen = new Random(); 57 int rn = rgen.nextInt(3); 58 if (rn == 0) { 59 painter.setColor(Color.RED); 60 } else if (rn == 1 ) { 61 painter.setColor(Color.ORANGE); 62 } else { 63 painter.setColor(Color.YELLOW); 64 } 65 painter.move(); 66 int balloonRadius = 20; 67 SCircle balloon = new SCircle(balloonRadius); 68 painter.paint(balloon); 69 painter.setColor(Color.black); 70 painter.draw(balloon); 71 } 72 73 74 } 75 76 77 78 79 80 81