drawView.setPreferredSize(new Dimension(800,20));
Избавьтесь от всех операторов setPreferredSize ().
Задачей менеджера макета является определение размера панели на основе компонентов, добавленных на панель.
Полоса прокрутки появится, когда предпочтительный размер компонента больше, чем размер компонента.Поэтому предпочтительный размер должен иметь возможность динамически изменяться при добавлении компонентов на панель.
drawViewPanel.add(drawViewPaintPanel, BorderLayout.CENTER);
drawViewPanel.add(scrollPane);
Если вы не укажете ограничение при добавлении компонентов в BorderLayout, они будут помещены в CENTER.Однако в CENTER может отображаться только один компонент, поэтому scrollPane заменяет drawViewPaintPanel.
resultsTextArea = new JTextArea("Command results:");
resultsTextArea.setPreferredSize(new Dimension(380, 2000));
Для JTextArea вы можете предложить предпочтительный размер, используя:
resultsTextArea = new JTextArea(5, 30);
resultsTextArea.setText("Command results:");
//resultsTextArea.setPreferredSize(new Dimension(380, 2000));
Текстобласть теперь будет иметь 5 строк текста.После 5 строк появятся полосы прокрутки.