Нижняя часть JScrollPane обрезана

Я пытаюсь создать простой почтовый клиент, а нижняя часть тела обрезается. Если я добавлю горизонтальную полосу прокрутки, она не появится, и нижняя часть вертикальной полосы прокрутки тоже не появится.

Вот мой код:

   import java.awt.BorderLayout;
   import java.awt.Container;
   import java.awt.FlowLayout;
   import java.awt.Font;

   import javax.swing.JFrame;
   import javax.swing.JLabel;
   import javax.swing.JPanel;
   import javax.swing.JScrollBar;
   import javax.swing.JScrollPane;
   import javax.swing.JTextArea;
   import javax.swing.JTextField;
   import javax.swing.UIManager;


   @SuppressWarnings("serial")
   public class gui extends JFrame{

gui(String title, int x, int y){

    super(title);
    setSize(x,y);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setResizable(false);

}

public void addElements(){

    Font size30 = new Font(null, Font.PLAIN, 30);

    JPanel pnl = new JPanel();

    Container contentPane = getContentPane();

    //--- User Info ---//

    JPanel userInfo = new JPanel();

    JLabel userLabel = new JLabel("Username: ");
    JTextField userField = new JTextField(12);
    userInfo.add(userLabel);
    userInfo.add(userField);

    JLabel passLabel = new JLabel("Password: ");
    JTextField passField = new JTextField(10);
    userInfo.add(passLabel);
    userInfo.add(passField);

    JLabel serverLabel = new JLabel("Mail Server: ");
    JTextField serverField = new JTextField(10);
    userInfo.add(serverLabel);
    userInfo.add(serverField);

    JLabel portLabel = new JLabel("Server Port: ");
    JTextField portField = new JTextField(3);
    userInfo.add(portLabel);
    userInfo.add(portField);

    //--- To: CC: and Subject Fields ---//

    JPanel msgInfo = new JPanel();

    JLabel toLabel = new JLabel("To: ");
    JTextField toField = new JTextField(30);
    msgInfo.add(toLabel);
    msgInfo.add(toField);

    JLabel subLabel = new JLabel("Subject: ");
    JTextField subField = new JTextField(30);
    msgInfo.add(subLabel);
    msgInfo.add(subField);

    //--- Body ---//

    JPanel bodyPnl = new JPanel(new BorderLayout(10,10));

    JLabel bodyLabel = new JLabel("Body");
    bodyLabel.setFont(size30);

    JTextArea bodyField = new JTextArea(30,70);
    bodyField.setLineWrap(true);
    bodyField.setWrapStyleWord(true);

    JScrollPane bodyScroll = new JScrollPane(bodyField);

    bodyScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    bodyScroll.setBounds(getX(), getY(), bodyField.getWidth(), bodyField.getHeight());

    bodyPnl.add("South",bodyScroll);

    pnl.add(userInfo);
    pnl.add(msgInfo);
    pnl.add(bodyLabel);
    pnl.add(bodyScroll);

    contentPane.add("North", pnl);

    setVisible(true);

}

}

В моем основном классе я просто создаю новый графический интерфейс, а затем вызываю функцию addElements ().

Ответы на вопрос(2)

Ваш ответ на вопрос