public void actionPerformed(ActionEvent ae) {
   try {
     String sbuildQuantity = buildQuantity.getText();
     System.out.println(sbuildQuantity);
     int buildNumber = Integer.parseInt(sbuildQuantity);
     if (buildNumber <= 0) {
       System.out.println("Invalid kit build amount");
     } else {
       Kits selectedKit = (Kits) kitList.getSelectedValue();
       selectedKit.setBuildNumber(buildNumber);
       buildInfo.add(selectedKit);
       parent.syncBuildInfo(buildInfo);
     }
   } catch (Exception e) {
     System.out.println("Invalid kit build amount");
   }
 }
  private void buildKitData(Kits selectedKit) {
    final int ST_SPACE = 25;
    kitDataPanel.removeAll();
    Box container = Box.createVerticalBox();
    setComponentSize(container, 400, PAGE_HEIGHT);
    JLabel kitID = new JLabel(Integer.toString(selectedKit.getKitID()));
    JLabel kitName = new JLabel(selectedKit.getName());
    JLabel kitDesc = new JLabel(selectedKit.getDescription());
    JLabel lp = new JLabel("----- Listed Parts -----");

    // align elements to the left collum
    // all the arguments can be left as KitID.LEFT because we only need any instance of a JComponent
    // to use the LEFT keyword
    kitID.setHorizontalAlignment(kitID.LEFT);
    kitName.setHorizontalAlignment(kitID.LEFT);
    kitDesc.setHorizontalAlignment(kitID.LEFT);
    lp.setHorizontalAlignment(kitID.LEFT);

    // add elements to container
    container.add(kitID);
    container.add(kitName);
    container.add(kitDesc);
    container.add(Box.createVerticalStrut(ST_SPACE));
    container.add(lp);

    // add part data
    TreeMap<Integer, Parts> kitParts = selectedKit.getListOfParts();
    for (Integer i : kitParts.keySet()) {
      Parts selectedPart = kitParts.get(i);
      Box holder = Box.createHorizontalBox();
      Box section1 = Box.createVerticalBox();
      Box section2 = Box.createVerticalBox();
      int imageIndex = selectedPart.getImageIndex();
      String PID = Integer.toString(selectedPart.getPartNumber());
      String PName = selectedPart.getName();
      String PDesc = selectedPart.getDesc();

      setComponentSize(holder, 400, 60);

      // add elements to section1
      section1.add(new JLabel("Part " + i));
      section1.add(new JLabel(images.getIcon(imageIndex - 1)));

      // add elements to section2
      section2.add(new JLabel("Part #: " + PID));
      section2.add(new JLabel("Part name: " + PName));
      section2.add(new JLabel("Part desc: " + PDesc));

      // add sections to holder
      holder.add(section1);
      holder.add(Box.createHorizontalStrut(ST_SPACE));
      holder.add(section2);

      // add holder to container
      container.add(holder);
    }

    // add the build items to the container
    buildQuantity = new JTextField("Enter number of kits to build");
    build = new JButton("Add to build queue");
    setComponentSize(buildQuantity, 400, 20);
    setComponentSize(buildQuantity, 400, 20);
    build.addActionListener(this);
    container.add(buildQuantity);
    container.add(build);

    // add container to kitDataPanel
    kitDataPanel.add(container);
    kitDataPanel.revalidate();
  }