title: Issue with constructor call or JFrame
body: <p>I have a class called Frame that extends JFrame and implements ActionListener and when:</p>
  
  <pre><code>    if(e.getSource() == addSpell){
              ArrayList&lt;Spell&gt; temp = new ArrayList&lt;Spell&gt;();
              for(Spell spell: SpellList.getSpellList()){
                  if(spell.getType().equals(user.getType())){
                  temp.add(spell);
                  }
  
              new SpellArraySorter(temp, this);
              this.setVisible(false);
      }
  </code></pre>
  
  <p>is called, either new SpellArraySorter() is called 6 times, or the constructor creates 6 jFrames.</p>
  
  <pre><code>public class SpellArraySorter implements ActionListener{
  
  private JButton help;
  private JButton enter;
  private JFrame frame;
  private JTextField level;
  private JTextField levelfill;
  private JTextField name;
  private JTextField namefill;
  private JTextField dmg1;
  private JTextField dmg2;
  private JTextField dmgfill1;
  private JTextField dmgfill2;
  private Frame f;
  
  private ArrayList&lt;Spell&gt; changedSpellArray;
  
  public SpellArraySorter(ArrayList&lt;Spell&gt; spellArray, Frame f){
          this.f = f;
          changedSpellArray = new ArrayList&lt;Spell&gt;(spellArray);
  
          frame = new JFrame();
          level = new JTextField();
          levelfill = new JTextField();
          name = new JTextField();
          namefill = new JTextField();
          dmg1 = new JTextField();
          dmg2 = new JTextField();
          dmgfill1 = new JTextField();
          dmgfill2 = new JTextField();
  
          help = new JButton("HELP");
          enter = new JButton("enter");
  
          frame.setLayout(null);
          frame.getContentPane().setBackground(Color.BLACK);
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.getContentPane().setPreferredSize(new Dimension(300, 300));
          frame.pack();
          frame.setLocationRelativeTo(null);
  
          level.setBounds(30, 35, 100, 20);
          levelfill.setBounds(180, 35, 100, 20);
          name.setBounds(30, 90, 100, 20);
          namefill.setBounds(180, 90, 100, 20);
          dmg1.setBounds(30, 145, 100, 20);
          dmg2.setBounds(200, 145, 20, 20);
          dmgfill1.setBounds(180, 145, 20, 20);
          dmgfill2.setBounds(220, 145, 20, 20);
  
          level.setText("Level of Spell: ");
          name.setText("name of Spell: ");
          dmg1.setText("Damage of Spell: ");
          dmg2.setText("d");
  
          level.setEditable(false);
          name.setEditable(false);
          dmg1.setEditable(false);
          dmg2.setEditable(false);
  
          help.setBounds(30, 215, 100, 20);
          enter.setBounds(180, 215, 100, 20);
  
          help.addActionListener(this);
          enter.addActionListener(this);
  
          frame.add(level);
          frame.add(levelfill);
          frame.add(name);
          frame.add(namefill);
          frame.add(dmg1);
          frame.add(dmg2);
          frame.add(dmgfill1);
          frame.add(dmgfill2);
          frame.add(help);
          frame.add(enter);
  
          frame.setVisible(true);
      }
  </code></pre>
  
  <p>I cannot for the life of me figure out why,  but every time I click the addSpell JButton on the Frame class's GUI, I have 6 JFrames appear of the class SpellArraySorter.</p>