title: Adding JCheckBox Array to JPanel in Netbeans
body: <p>I've been trying to add an array of <code>JCheckBoxes</code> to a <code>JPanel</code> in Netbeans that has been automatically generated by the <code>Netbeans GUI</code>, when I create an array of the <code>JCheckBoxes</code> and then try to add them to the <code>JPanel</code> using <code>JPanel.add(jCheckboxArray[x])</code> , the program compiles ok but they don't appear.</p>
  
  <p>I've created an array like so: </p>
  
  <pre><code>// custom private member variables
  private javax.swing.JCheckBox[] jCheckboxArray;
  //
  
  int CheckBoxNumber = 5;
  jCheckboxArray = new javax.swing.JCheckBox[CheckBoxNumber];
  for(int x = 0; x &lt; CheckBoxNumber ; x++) {
      jCheckboxArray[x] = new javax.swing.JCheckBox();
      jCheckboxArray[x].setText("CheckBox " + x);
  } 
  </code></pre>
  
  <p>I've tried setting viable but no result, and all the examples online appear to make a reference to adding the <code>JPanel</code> to a <code>JFrame</code> however no <code>JFrame</code> exists in the auto-generated code probably because the auto generated class extends <code>javax.swing.JFrame</code>.</p>
  
  <p>Any help greatly appreciated.</p>
  
  <p>Here is the entire code:</p>
  
  <pre><code>/*
   * To change this template, choose Tools | Templates
   * and open the template in the editor.
   */
  package my.ArduinoGUI;
  
  /**
   *
   * @author EEE
   */
  public class ArduinoGUI extends javax.swing.JFrame {
  
  /**
   * Creates new form ArduinoGUI
   */
  public ArduinoGUI() {
      initCustomComponents();
      initComponents();
  
  }
  
  /**
   * This method is called from within the constructor to initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is always
   * regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt;
  private void initComponents() {
  
      buttonGroup1 = new javax.swing.ButtonGroup();
      jPanel1 = new javax.swing.JPanel();
      jCheckBox1 = new javax.swing.JCheckBox();
      jCheckBox2 = new javax.swing.JCheckBox();
      jCheckBox3 = new javax.swing.JCheckBox();
      jCheckBox4 = new javax.swing.JCheckBox();
      jCheckBox5 = new javax.swing.JCheckBox();
      jPanel2 = new javax.swing.JPanel();
      jRadioButton1 = new javax.swing.JRadioButton();
      jRadioButton2 = new javax.swing.JRadioButton();
      jPanel3 = new javax.swing.JPanel();
  
      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  
      jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Outputs"));
      jPanel1.setName("Outputs"); // NOI18N
  
      jCheckBox1.setText("jCheckBox1");
  
      jCheckBox2.setText("jCheckBox2");
  
      jCheckBox3.setText("jCheckBox3");
  
      jCheckBox4.setText("jCheckBox4");
  
      jCheckBox5.setText("jCheckBox5");
  
      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      jPanel1.setLayout(jPanel1Layout);
      jPanel1Layout.setHorizontalGroup(
          jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(jPanel1Layout.createSequentialGroup()
              .addContainerGap()
              .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                  .addGroup(jPanel1Layout.createSequentialGroup()
                      .addComponent(jCheckBox1)
                      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                      .addComponent(jCheckBox5))
                  .addComponent(jCheckBox2)
                  .addComponent(jCheckBox3)
                  .addComponent(jCheckBox4))
              .addContainerGap(39, Short.MAX_VALUE))
      );
      jPanel1Layout.setVerticalGroup(
          jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(jPanel1Layout.createSequentialGroup()
              .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                  .addComponent(jCheckBox1)
                  .addComponent(jCheckBox5))
              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
              .addComponent(jCheckBox2)
              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
              .addComponent(jCheckBox3)
              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
              .addComponent(jCheckBox4)
              .addGap(0, 14, Short.MAX_VALUE))
      );
  
      jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("PinState"));
  
      buttonGroup1.add(jRadioButton1);
      jRadioButton1.setText("Input");
      jRadioButton1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(java.awt.event.ActionEvent evt) {
              jRadioButton1ActionPerformed(evt);
          }
      });
  
      buttonGroup1.add(jRadioButton2);
      jRadioButton2.setText("Output");
  
      javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
      jPanel2.setLayout(jPanel2Layout);
      jPanel2Layout.setHorizontalGroup(
          jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(jPanel2Layout.createSequentialGroup()
              .addGap(8, 8, 8)
              .addComponent(jRadioButton1)
              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
              .addComponent(jRadioButton2)
              .addContainerGap(67, Short.MAX_VALUE))
      );
      jPanel2Layout.setVerticalGroup(
          jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(jPanel2Layout.createSequentialGroup()
              .addGap(16, 16, 16)
              .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                  .addComponent(jRadioButton1)
                  .addComponent(jRadioButton2))
              .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );
  
      jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Generated Boxes"));
  
      int CheckBoxNumber = 5;
      jCheckboxArray = new javax.swing.JCheckBox[CheckBoxNumber];
  
      for(int x = 0; x &lt; CheckBoxNumber ; x++) {
          jCheckboxArray[x] = new javax.swing.JCheckBox();
          System.out.print(x);
          System.out.print(jCheckboxArray[x].getText());
          jCheckboxArray[x].setText("CheckBox " + x);
          System.out.print(jCheckboxArray[x].getText());
  
          jPanel3.add(jCheckboxArray[x]);
  
      }
  
      javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
      jPanel3.setLayout(jPanel3Layout);
      jPanel3Layout.setHorizontalGroup(
          jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGap(0, 0, Short.MAX_VALUE)
      );
      jPanel3Layout.setVerticalGroup(
          jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGap(0, 175, Short.MAX_VALUE)
      );
  
      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
          layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(layout.createSequentialGroup()
              .addContainerGap()
              .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                  .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                  .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
              .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 40, Short.MAX_VALUE)
              .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
              .addContainerGap())
      );
      layout.setVerticalGroup(
          layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          .addGroup(layout.createSequentialGroup()
              .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                  .addGroup(layout.createSequentialGroup()
                      .addContainerGap()
                      .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                  .addGroup(layout.createSequentialGroup()
                      .addGap(23, 23, 23)
                      .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                      .addGap(18, 18, 18)
                      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
              .addContainerGap())
      );
  
      pack();
  }// &lt;/editor-fold&gt;
  
  private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
      // TODO add your handling code here:
  }
  
  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
      /* Set the Nimbus look and feel */
      //&lt;editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "&gt;
      /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
       * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
       */
      try {
          for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
              if ("Windows".equals(info.getName())) {
                  javax.swing.UIManager.setLookAndFeel(info.getClassName());
                  break;
              }
          }
      } catch (ClassNotFoundException ex) {
          java.util.logging.Logger.getLogger(ArduinoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (InstantiationException ex) {
          java.util.logging.Logger.getLogger(ArduinoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (IllegalAccessException ex) {
          java.util.logging.Logger.getLogger(ArduinoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      } catch (javax.swing.UnsupportedLookAndFeelException ex) {
          java.util.logging.Logger.getLogger(ArduinoGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
      }
      //&lt;/editor-fold&gt;
  
      /* Create and display the form */
      java.awt.EventQueue.invokeLater(new Runnable() {
          public void run() {
              new ArduinoGUI().setVisible(true);
          }
      });
  }
  // Variables declaration - do not modify
  private javax.swing.ButtonGroup buttonGroup1;
  private javax.swing.JCheckBox jCheckBox1;
  private javax.swing.JCheckBox jCheckBox2;
  private javax.swing.JCheckBox jCheckBox3;
  private javax.swing.JCheckBox jCheckBox4;
  private javax.swing.JCheckBox jCheckBox5;
  private javax.swing.JPanel jPanel1;
  private javax.swing.JPanel jPanel2;
  private javax.swing.JPanel jPanel3;
  private javax.swing.JRadioButton jRadioButton1;
  private javax.swing.JRadioButton jRadioButton2;
  // End of variables declaration
  
  private javax.swing.JCheckBox[] jCheckboxArray;
  private javax.swing.JPanel jPanel4;
  private javax.swing.JCheckBox jCheckBox6;
  
  
  
  private void initCustomComponents() {
      //throw new UnsupportedOperationException("Not yet implemented");
      // create checkbox array
  
  
  
  }
  </code></pre>
  
  <p>}</p>