[Java] Einem JFrame nachträglich komponenten zufügen

Hallo zusammen,
ich hätte da ein Problemchen bei meiner Gui:

import javax.swing.*;

public class TwoButtons {
   public static void main(String[] args) {
      new TwoButtons();
   }

   public TwoButtons() {
      JFrame f = new JFrame("TwoButtons");
      f.setLayout(new GridLayout(2, 1));
      JButton b1 = new JButton("B1");
      f.add(b1);
      f.setSize(500, 500);
      f.setVisible(true);
      f.add(new JButton("B2"));
   }
}

Mir ist schon klar, dass das mit dem zweiten Button nicht funktionieren kann, aber gibt es da außer pack() und nochmal setSize() einen eleganteren Ausweg? Vielen Dank schon mal,
zauberwürfel