1 package balloonpeople; 2 3 import painter.SPainter; 4 import javax.swing.*; 5 import java.util.ArrayList; 6 import java.util.Scanner; 7 8 9 public class BalloonFamily { 10 private ArrayList<BalloonPerson> balloonpeople; 11 12 public BalloonFamily(int nofP) { 13 this.balloonpeople = new ArrayList<>(nofP); 14 int i = 0; 15 while (i < nofP) { 16 String name = getName("Name of Family Member " + (i + 1)); 17 int age = getAge("Age of Family Member " + (i + 1)); 18 double height = getHeight("Height of Family Member " + (i + 1)); 19 balloonpeople.add(new BalloonPerson(name, age ,height)); 20 i = i + 1; 21 } 22 } 23 24 private String getName(String prompt) { 25 String nss = JOptionPane.showInputDialog(null, prompt + "?"); 26 Scanner scanner = new Scanner(nss); 27 return scanner.next(); 28 } 29 30 private int getAge(String prompt) { 31 String nss = JOptionPane.showInputDialog(null, prompt + "?"); 32 Scanner scanner = new Scanner(nss); 33 return scanner.nextInt(); 34 } 35 36 private double getHeight(String prompt) { 37 String nss = JOptionPane.showInputDialog(null, prompt + "?"); 38 Scanner scanner = new Scanner(nss); 39 return scanner.nextDouble(); 40 41 } 42 43 public String toString(){ 44 int i = 0; 45 while (i < balloonpeople.size()) { 46 i = i + 1; 47 } 48 return (balloonpeople.toString()); 49 } 50 51 public void paint(SPainter painter) { 52 double X = painter.getWidth()/balloonpeople.size(); 53 if ( X < 100) { 54 painter.draw("Error; Too big family picture"); 55 } else { 56 painter.mrt(painter.getWidth()/2); 57 painter.mlt(X/2); 58 balloonpeople.get(0).paint(painter); 59 int i = 1; 60 while (i < balloonpeople.size()) { 61 painter.mlt(X); 62 balloonpeople.get(i).paint(painter); 63 i = i + 1; 64 } 65 } 66 } 67 } 68 69