Попробуйте использовать какой-нибудь LayoutManager, который позаботится об изменении размера компонентов внутри панели. Например, BorderLayout и добавьте текстовое поле в центр.
Примерно так (прошло несколько лет с тех пор, как я написал Swing):
textArea = new JTextArea();
textArea.setSize(getWidth(),getHeight());
setLayout(new BorderLayout());
add(textArea, BorderLayout.CENTER);
Теперь, когда вы делаете панель видимой, менеджер по расположению должен позаботиться о том, чтобы текстовая область была такой же, как у панели. Также убедитесь, что на панели нет границ.