JTextArea soll die größe im Jframe (Panel) anpassen

Hab deinen Code mal umgeschrieben, ich hoffe, so hast du dir das vorgstellt.

import javax.swing.*;


public class Writer
{

    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
            		new Writer();
            	}
        });
    }

    public Writer()
    {
        JFrame frame = new JFrame("~SongWriter~");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        JPanel panel = new JPanel(new BorderLayout());

        //zeiliges und spaltiges Textfeld wird erzeugt
        JTextArea textfeld = new JTextArea();
        textfeld.setPreferredSize(new Dimension(500, 600));

        //Vorgefertigter Text
        textfeld.setText("Hallo");

        //Zeilenumbruch wird eingeschaltet
        textfeld.setLineWrap(true);

        //Zeilenumbrüche erfolgen nur nach ganzen Wörtern
        textfeld.setWrapStyleWord(true);

        //Scrollpane wird unserem Panel hinzugefügt
        panel.add(new JScrollPane(textfeld));

        frame.add(panel);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}```