public class ScrollBar extends JFrame {
    public ScrollBar() {
        this.setLayout(new FlowLayout());
        this.setMinimumSize(new Dimension(300, 300));
            this.setPreferredSize(new Dimension(300, 300));
            
            JTextArea chat = new JTextArea();
        chat.setLineWrap(true);
        chat.setWrapStyleWord(true);
        chat.setLocation(20, 40);
        chat.setEditable(false);
        
        JScrollPane barreChat = new JScrollPane(chat);
        barreChat.setMinimumSize(new Dimension(100, 100));
        barreChat.setPreferredSize(new Dimension(100, 100));
        this.add(barreChat);
        
        pack();
        setVisible(true);
    }
}

### IMPORTANTE:
1) this.setLayout(new FlowLayout()); => Non bisogna settare il Layout del JFrame a "null".
2) this.setMinimumSize(new Dimension(300, 300)); => Se non si imposta questo parametro la finestra avrà dimensioni piccolissime.
3) NON dichiarare mai le dimensioni della JTextArea, ma farlo attraverso lo JScrollPane, altrimenti la scrollbar non scrolla!
4) this.add(barreChat); => Aggiungere solamente lo JScrollPane all'interfaccia e non anche la JTextArea.