1 package npw; 2 import java.awt.Color; 3 import javax.swing.SwingUtilities; 4 import painter.SPainter; 5 import shapes.SCircle; 6 import java.util.Random; 7 import shapes.SSquare; 8 public class AlternateBalloons { 9 10 11 12 13 14 public AlternateBalloons() { 15 paintTheImage(); 16 } 17 18 public static void main(String[] args) { 19 SwingUtilities.invokeLater(new Runnable() { 20 public void run() { 21 new AlternateBalloons(); 22 } 23 24 25 }); 26 } 27 28 private void paintTheImage() { 29 30 SPainter painter = new SPainter(" Alternate Balloons", 800, 800); 31 paintSky(painter); 32 int nrOfBalloons = 300; 33 paintBalloons(painter, nrOfBalloons); 34 35 } 36 37 38 private void paintSky(SPainter painter) { 39 painter.setColor(Color.blue); 40 SSquare sky = new SSquare(2000); 41 painter.paint(sky); 42 43 44 } 45 46 private void paintBalloons(SPainter painter, int nrOfBalloons) { 47 int i = 1; 48 while (i <= nrOfBalloons) { 49 50 paintOneBalloon(painter); 51 i = i + 1; 52 } 53 } 54 55 private void paintOneBalloon(SPainter painter) { 56 Random rgen = new Random(); 57 int rn = rgen.nextInt(3); 58 if (rn == 0) { 59 60 61 painter.setRandomColor(); 62 } else if (rn == 1) { 63 64 65 painter.setRandomColor(); 66 67 } else { 68 69 70 painter.setRandomColor(); 71 72 } 73 74 75 painter.move(); 76 int balloonRadius = 30; 77 SCircle balloon = new SCircle(balloonRadius); 78 painter.paint(balloon); 79 painter.setColor(Color.black); 80 painter.draw(balloon); 81 82 83 } 84 85 86 } 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128