SetBounds Java nie działa z JPanel

robię małe Gui w Javie. używam metod setBounds do ustawiania pozycji przycisków itp. na moim JFrame, ale problem polega na tym, że kiedy używam go z JPanel, przycisk nie jest widoczny w JFrame, a bez JPanel jest całkiem OK, zobacz oba kody i proszę mi pomóc Jestem początkujący i stoję przed tymi głupimi problemami.

Ten działa dobrze

  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);

Ten sam kod, gdy dodam Button do Jpanel, to nie działa, więc co jest nie tak, proszę mnie poprowadzić

  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);

proszę mi pomóc w tym małym problemie

questionAnswers(2)

yourAnswerToTheQuestion