title: Components in second JFrame not showing up
body: <p>i want to start another JFrame from pressing a button in a JFrame.
  But if I press the Button it shows the JFrame but not the Buttons and Sliders in it. </p>
  
  <pre><code>public class MainMenu extends JFrame {
  
  
  private JFrame klick;
  private static final long serialVersionUID = 9002;
  
  
  public static void main(String[] args) {
  
      new MainMenu();
  
  }
  
  
  public MainMenu() {
      buildGUI1();
  
  }
  public void buildGUI1() throws NullPointerException {
      setTitle("Hauptmenü");      
      setSize(800, 480);
      setLayout(new GridLayout());
      setAlwaysOnTop(false);
      setLocation((Toolkit.getDefaultToolkit().getScreenSize().width)/4, (Toolkit.getDefaultToolkit().getScreenSize().height)/4);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setResizable(false);
      setVisible(true);
      final JButton startclickbt = new JButton("Start Clicker");
      startclickbt.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
              dispose();
              if(klick == null ) {
                  klick =new Clicker();
                  add(klick);
              }
  
  
          }
      });
  
      add(startclickbt);
  
  
      }
  </code></pre>
  
  <p>}</p>
  
  <p>The second has quite the same costructor.sliders and buttons are not static.
  At the places where Buttons should appear the screen is black.</p>
  
  <p>Hope you can help me :)  </p>
  
  <p>EDIT:</p>
  
  <pre><code>public class Clicker extends JFrame {
  
      private static final long serialVersionUID = 9001;
      protected JPanel panel;
      static Click j = null;
      protected JSlider jsl;
      protected JTextField tf;
      static final int CPS_MIN= 0;
      static final int CPS_MAX= 100;
      static final int CPS_INIT= 25;
      private int amount;
      private boolean visible;
  
      public int getDelay() {
          return Math.abs(jsl.getValue()-100);
      }
      public int getAmount() {
          return amount;
      }
      public boolean getVisible() {
          return visible;
      }
      public void setOpen(boolean visible) {
          this.visible=visible;
      }
  
      public Clicker(boolean visible) {
  
          buildGUI(visible);
          j = new Click(false).addPosition(new Point((Toolkit.getDefaultToolkit().getScreenSize().width)/2, (Toolkit.getDefaultToolkit().getScreenSize().height)/2)).addPosition(new Point(getLocation().x+1, getLocation().y+20));
          while(true) {
  
              j.runClicks(getDelay());
          }
      }
  
      public Clicker() {
          buildGUI(true);
          j = new Click(false).addPosition(new Point((Toolkit.getDefaultToolkit().getScreenSize().width)/2, (Toolkit.getDefaultToolkit().getScreenSize().height)/2)).addPosition(new Point(getLocation().x+1, getLocation().y+20));
          while(true) {
  
              j.runClicks(getDelay());
          }
      }
      public void buildGUI(boolean visible) {
  
          setTitle("Clicker");
          setSize(340, 200);
          setLayout(new GridLayout());
          setAlwaysOnTop(true);
          setLocation(0, 0);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setResizable(false);
          setVisible(visible);
  
          final JButton bt1 = new JButton("Schließen");
          bt1.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  System.exit(0);
              }
          });
          final JButton bt2 = new JButton("Start  ");
          bt2.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  j.setClick(true);
              }
          });
          final JButton bt3 = new JButton("Stop       ");
          bt3.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  j.setClick(false);
                  JOptionPane.showMessageDialog(null, "Klicken gestoppt. Klicks: " + j.getClickAmount());
                  j.setClickAmout(0);
              }
          });
          final JButton bt4 = new JButton("StartAnzahl");
          bt4.addActionListener(new ActionListener() {
              private int amount;
  
              public void actionPerformed(ActionEvent e) {
                  String wert = tf.getText();
                  try {
                      amount = Integer.parseInt(wert);
                  }catch(Exception ee) {
                      JOptionPane.showMessageDialog(null,"Das war keine Zahl oder mehr als ein Integer");
                  }
  
                  j.doClick(amount);
  
  
              }
          });
          tf = new JTextField("Anzahl gewünschte Clicks max "+ Integer.MAX_VALUE, 10);
          tf.setEditable(true);
  
  
          jsl = new JSlider(JSlider.HORIZONTAL,CPS_MIN,CPS_MAX,CPS_INIT);
          jsl.setMinorTickSpacing(5);
          jsl.setMajorTickSpacing(10);
          jsl.setPaintTicks(true);
          jsl.setPaintLabels(true);
  
          panel = new JPanel();
          panel.addMouseMotionListener(new MouseMotionListener() {
  
              @Override
              public void mouseDragged(MouseEvent event) {
                  j.setClick(false);  
              }
  
              @Override
              public void mouseMoved(MouseEvent event) {
                  j.setClick(false);          
              }
          });
  
          panel.addKeyListener(new KeyAdapter() {
  
              @Override
              public void keyPressed(KeyEvent e) {
                  if(e.getKeyCode() == KeyEvent.VK_F1) {
                      j.setClick(true);
                  }
                  if(e.getKeyCode() == KeyEvent.VK_F2) {
                      j.setClick(false);
                  }
              }
  
          });
  
  
          add(panel);
          add(bt2);
          add(bt3);
          add(bt1);
          add(bt4);
          add(jsl);
          add(tf);
  
          pack();
      }
  
  }
  </code></pre>