I am having a JFrame looking like this:

When it is resized, it will make the JComboBoxes adapt to the size of the JFrame like this:

which is what I want. But when I add a JScrollPane, the JComboBoxes no longer adapt:

Any ideas how to make the JComboBoxes still fill HORIZONTAL with the added JScrollPane?(making the JScrollPane only effect the VERTICAL scrolling)
public class FillHorizonScrollVertical extends JFrame {
    private boolean withScroller = true;
    private JPanel content;
    public FillHorizonScrollVertical() {
        // FILL = BOTH for JFrame
        GridBagConstraints c = new GridBagConstraints();
        c.fill = GridBagConstraints.BOTH;
        c.weightx = 1;
        c.weighty = 1;
        this.setLayout(new GridBagLayout());
        // GridLayout = All content gets the same size
        content = new JPanel(new GridLayout());
        // ADD TO THE FRAME
        JScrollPane scroller = new JScrollPane(content);
        if (withScroller)
            this.add(scroller, c);
        else
            this.add(content, c);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        // ADDING THE BOXES AFTER SETTING VISIBLE
        addBoxes();
        this.pack();
    }
    /**
     * Create JComboBoxes and adding them to the JPanel
     */
    private void addBoxes() {
        // CREATE JCOMBOBOXES
        JComboBox cb1 = new JComboBox();
        cb1.addItem("");
        cb1.addItem("aaaaaaaaaaaaaaaaaa");
        JComboBox cb2 = new JComboBox();
        cb2.addItem("");
        JComboBox cb3 = new JComboBox();
        cb3.addItem("");
        content.add(cb1);
        content.add(cb2);
        content.add(cb3);
    }
    public static void main(String[] args) {
        new FillHorizonScrollVertical();
    }
}
 
     
    