1 package npw; 2 /* 3 *Program that paints 300 multicolor balloons in a blue sky 4 * Features commands 5 */ 6 import java.awt.Color; 7 import java.util.Random; 8 import javax.swing.SwingUtilities; 9 import painter.SPainter; 10 import shapes.SCircle; 11 import shapes.SSquare; 12 public class AlternateBalloons { 13 public AlternateBalloons(){ 14 paintTheImage(); 15 } 16 public static void main(String[] args){ 17 SwingUtilities.invokeLater(new Runnable(){ 18 public void run() { 19 new AlternateBalloons(); 20 } 21 }); 22 } 23 private void paintTheImage() { 24 SPainter painter = new SPainter("AlternateBalloons", 600, 600); 25 paintSky(painter); 26 int nrOfBalloons = 300; 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(6); 44 if(rn == 0){ 45 painter.setColor(Color.RED); 46 } 47 else if(rn == 1){ 48 painter.setColor(Color.ORANGE); 49 } 50 else if(rn == 2){ 51 painter.setColor(Color.GRAY); 52 } 53 else if(rn == 3){ 54 painter.setColor(Color.WHITE); 55 } 56 else if(rn == 4){ 57 painter.setColor(Color.CYAN); 58 } 59 else{ 60 painter.setColor(Color.YELLOW); 61 } 62 painter.move(); 63 int balloonRadius = 30; 64 SCircle balloon = new SCircle(balloonRadius); 65 painter.paint(balloon); 66 painter.setColor(Color.BLACK); 67 painter.draw(balloon); 68 } 69 } 70 71 72 73