Динамически растущая JPanel с BoxLayout (на нулевом макете)

У меня есть JPanel с вертикальным BoxLayout поверх JPanel с нулевым макетом.

Я бы хотел, чтобы JPanel с BoxLayout рос по мере добавления компонентов.

Смотрите этот код:

public static void main (String[] args) {
    JFrame f = new JFrame();
    f.setSize(500,500);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel total = new JPanel();
    total.setLayout(null);
    total.setSize(f.getWidth(),f.getHeight());
    total.setBackground(Color.green);
    JPanel box = new JPanel();
    box.setLocation(100,200);
    box.setLayout(new BoxLayout(box, BoxLayout.Y_AXIS));
    box.add(new JButton("test"));
    box.add(new JLabel("hey"));
    total.add(box);
    f.add(total);
    f.setVisible(true);
}

Вы заметите, что никакие компоненты не обнаруживаются.

Как я могу сделать JPanel "коробка» такой, что размер динамически увеличивается, когда я добавляю больше компонентов (которые добавляются по вертикали).

В ПРЕДСТОЯЩЕМ: мне нужна позиция "коробка» чтобы быть точно 100,200, поэтому, пожалуйста, не предлагайте мне не использовать нулевой макет. Я должен использовать нулевой макет. Нулевой макетВсего" не должен влиять ответ на мой вопрос, который ориентирован накоробка» панель.

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

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