I want to display a list of strings in a window and i tried to use a JPanel surounded by JScrollPane because the size of the strings list is unknown. The problem is that the window is displaying the text Horizontally and i want to be displayed line after line. How to fix this? This is the code i've written so far.
package interface_classes;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
public class ErrorMessageW {
    private JFrame errorMessageW;
    private ArrayList<String> errors;
    private JPanel panel;
    private JScrollPane scrollPane;
    
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        final ArrayList<String> err = new ArrayList<>();
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    ErrorMessageW window = new ErrorMessageW(err);
                    window.errorMessageW.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
    /**
     * Create the application.
     */
    public ErrorMessageW(ArrayList<String> err) {
        errors = err;
        initialize();
    }
    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        errorMessageW = new JFrame();
        errorMessageW.setTitle("Unfilled forms");
        errorMessageW.setBounds(100, 100, 367, 300);
        errorMessageW.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        JButton btnOk = new JButton("OK");
        btnOk.setBounds(239, 208, 89, 23);
        btnOk.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                errorMessageW.dispose();
            }
        });
        errorMessageW.getContentPane().setLayout(null);
        errorMessageW.getContentPane().add(btnOk);
        
        scrollPane = new JScrollPane();
        scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
        scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        scrollPane.setBounds(10, 10, 330, 175);
        errorMessageW.getContentPane().add(scrollPane);
        
        panel = new JPanel();
        for(String s : errors){
            JTextArea text = new JTextArea(1,20);
            text.setText(s);
            text.setFont(new Font("Verdana",1,10));
            text.setForeground(Color.RED);
            panel.add(text);
            
        }   
        scrollPane.setViewportView(panel);
    }
    
    public JFrame getErrorMessageW() {
        return errorMessageW;
    }
    public void setErrorMessageW(JFrame errorMessageW) {
        this.errorMessageW = errorMessageW;
    }
}
This is what i get

This is what i want, but using the JScrollPane:

 
     
    
 
     
    