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