Java setBounds не работает с JPanel

Я делаю маленький Gui в Java. Я использую методы setBounds для установки положения кнопок и т. д. на моем JFrame, но проблема в том, что когда я использую его с JPanel, кнопка не видна на JFrame, а без JPanel все нормально, смотрите оба кода и, пожалуйста, помогите мне как Я новичок и сталкиваюсь с этими глупыми проблемами.

Этот работает нормально

  JFrame jframe = new JFrame("Working Fine");  
  jframe.setLayout(null);  
  JButton jbutton = new JButton("Position Test");  
  jbutton.setBounds(0, 0, 100, 100);  
  jframe.add(jbutton);  
  jframe.setSize(300,300);
  jframe.setVisible(true);

Тот же код, когда я добавляю кнопку в Jpanel, то она не работает, так что не так, пожалуйста, направьте меня

  JFrame jframe = new JFrame("causing problem ");
  jframe.setSize(300,300);
  JPanel p = new JPanel();
  jframe.setLayout(null);  
  JButton jbutton = new JButton("Position Test");  
  jbutton.setBounds(0, 0, 100, 100);
  jframe.add(p);
  p.add(jbutton);
  p.setVisible(true);
 //jframe.add(jbutton);  
  jframe.setVisible(true);

пожалуйста, помогите мне в этой маленькой проблеме,

Ответы на вопрос(2)

Ваш ответ на вопрос