title: Adding Components to Frame using Absolute Positioning
body: <p>I am creating a simple Tic Tac Toe Application in Swing using setBounds (null Layout).</p>
  
  <p>My problem is that whichever component i add in the end, is not visible in the frame, or distorts the complete GUI.
  My code would better explain this</p>
  
  <pre><code>import java.awt.*;
  import javax.swing.*;
  class ZeroKata
  {
      ButtonGroup p1group,p2group;
      Font f;
      JButton begin,b1,b2,b3,b4,b5,b6,b7,b8,b9;
      JCheckBox p1K,p2K,p1Z,p2Z;
      JFrame frame;
      JLabel player1,player2,p1Name,p2Name,p1Symbol,p2Symbol,status,dummy; //  dummy label for my problem
      JPanel buttons;
      JTextField name1,name2;
      private void addComponents(Container parent,JComponent...c)
      {
          for(JComponent C:c)
              parent.add(C);
      }
      public ZeroKata()
      {
          frame = new JFrame("Tic Tac Toe");
          frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
          frame.setSize(900,650);
          frame.setResizable(true);
          frame.setVisible(true);
  
          buttons = new JPanel();
          buttons.setLayout(new GridLayout(3,3,10,10));
          begin = new JButton("START GAME");
          b1 = new JButton(" ");
          b2 = new JButton(" ");
          b3 = new JButton(" ");
          b4 = new JButton(" ");
          b5 = new JButton(" ");
          b6 = new JButton(" ");
          b7 = new JButton(" ");
          b8 = new JButton(" ");
          b9 = new JButton(" ");
  
          p1K = new JCheckBox("X");
          p1Z = new JCheckBox("O");
          p2K = new JCheckBox("X");
          p2Z = new JCheckBox("O");
  
          p1group = new ButtonGroup();
          p2group = new ButtonGroup();
  
          p1group.add(p1K);
          p1group.add(p1Z);
          p2group.add(p2K);
          p2group.add(p2Z);
  
          name1 = new JTextField(30);
          name2 = new JTextField(30);
  
          f = new Font("Georgia",Font.PLAIN,38);
          player1 = new JLabel (" &lt;&lt; PLAYER 1 &gt;&gt;");
          p1Name = new JLabel ("NAME : ");
          p1Symbol = new JLabel ("SYMBOL : ");
          player2  = new JLabel ("&lt;&lt; PLAYER 2 &gt;&gt;");
          p2Name = new JLabel ("NAME : ");
          p2Symbol = new JLabel ("SYMBOL : ");
          status = new JLabel ("GAME STATUS --&gt;&gt; ");
          dummy = new JLabel ("   ");
  
          addComponents(buttons,b1,b2,b3,b4,b5,b6,b7,b8,b9);
  
          player1.setBounds(100,100,100,30);
          p1Name.setBounds(120,150,100,30);
          p1Symbol.setBounds(120,200,60,30);
          player2.setBounds(100,250,100,30);
          p2Name.setBounds(120,300,100,30);
          p2Symbol.setBounds(120,350,50,30);
          name1.setBounds(200,150,150,30);
          p1K.setBounds(200,200,50,30);
          p1Z.setBounds(250,200,50,30);
          name2.setBounds(200,300,150,30);
          p2K.setBounds(200,350,50,30);
          p2Z.setBounds(250,350,50,30);
          buttons.setBounds(500,100,250,250);
          dummy.setBounds(20,20,30,30);
          begin.setBounds(200,500,150,30);
  
          frame.add(player1);
          frame.add(p1Name);
          frame.add(p1Symbol);
          frame.add(player2);
          frame.add(p2Name);
          frame.add(p2Symbol);
          frame.add(name1);
          frame.add(name2);
          frame.add(begin);
          frame.add(buttons);
          frame.add(p1K);
          frame.add(p1Z);
          frame.add(p2K);
          frame.add(p2Z);
  
          /*  u need to add a dummy label also to let GUI work correctly, dont know whyx !
          frame.add(dummy); */
      }
      public static void main(String...args)
      {
          SwingUtilities.invokeLater(new Runnable()
          {
              public void run()
              {
                  new ZeroKata();
              }
          });
      }
  }
  </code></pre>
  
  <p>It is a simple code, I just don't know where I am going wrong .
  Thanks in advance !</p>