Динамически растущая 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, поэтому, пожалуйста, не предлагайте мне не использовать нулевую разметку. Я должен использовать нулевой макет. Нулевой макет «total» не должен влиять на ответ на мой вопрос, который фокусируется на панели «box».

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

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