Я бы go для BoxLayout. Добавьте другую панель (metaPanel), в которую вы сначала поместите scrollingPanel, а затем добавьте кнопку. Вместо того, чтобы использовать scrollingPanel как contentPane, вы используете metaPanel. Пример (пример работает, но вам нужно изменить его, чтобы интерфейс выглядел красиво):
JPanel mainPanel = new JPanel();
JScrollPane scrollPane = new JScrollPane(mainPanel);
scrollPane.setViewportView(mainPanel);
JPanel metaPanel = new JPanel();
BoxLayout boxlayout = new BoxLayout(metaPanel, BoxLayout.Y_AXIS);
metaPanel.setLayout(boxlayout);
metaPanel.add(scrollPane);
metaPanel.add(new JButton("button"));
// Settings for JFrame
frame = new JFrame("Warehouse Simulator");
frame.setContentPane(metaPanel); // Put metaPanel here
frame.setSize(500, 300);
frame.setResizable(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);