Как сделать JTextArea Stick в окне

Здравствуйте, я бы хотел, чтобы этот TextArea придерживался размера окна, когда я изменяю его размер мышью, так же, как это делают нижние кнопки. Это код, он отлично работает без ошибок, пожалуйста, взгляните на него.

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.LayoutManager;


import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;


public class Rozklady extends JFrame {

public Rozklady() {
    super();    
}

public void createGUI(){
    setPreferredSize(new Dimension(400,150));
    JPanel jp = new JPanel();
//  jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
    jp.setLayout(new GridLayout(0,1));

    JPanel gora = new JPanel();
    JPanel dol = new JPanel();
    pack();
    JTextArea jt1 = new JTextArea("JF1");


    gora.add(jt1);

    jt1.setPreferredSize(new Dimension(getWidth(),getHeight()/2));
    dol.setLayout(new BorderLayout());

    JPanel lewo = new JPanel();
    JPanel prawo = new JPanel();
    JPanel srodek = new JPanel();



    dol.add(lewo, BorderLayout.EAST);
    dol.add(prawo,BorderLayout.WEST);
    dol.add(srodek, BorderLayout.CENTER);


    lewo.setLayout(new GridLayout(2,2));
    prawo.setLayout(new GridLayout(2,2));
    srodek.setLayout(new GridLayout(0,1));

    for(int i  = 0; i < 4; i++){
        lewo.add(new JButton(i+""));
        prawo.add(new JButton(i+""));
        if(i < 3){
            srodek.add(new JTextField("JF"+i));
        }
    }




    jp.add(gora);
    jp.add(dol);
    add(jp);
    setVisible(true);
    pack();
    setDefaultCloseOperation(EXIT_ON_CLOSE);
}





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

}

}

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

// declare a GridLayout in constructor, one component will 'fill the container'
JPanel gora = new JPanel(new GridLayout());
JPanel dol = new JPanel();
// this should be called after all components are added!  BNI
pack();
JTextArea jt1 = new JTextArea("JF1");

// be sure to use a scroll pane for multi-line text components
gora.add(new JScrollPane(jt1));
// ..

может быть достигнуто различными значениями. Два распространенных способа использования любогоBorderLayout как упомянуто AlexR илиGridLayout, Увидетьэтот ответ для примера кода. я предпочитаюGridLayout потому что это короче (меньше печатать). ;)

BorderLayout для тебяgora панель. Поместите текстовую область в центр:

gora.setLayout(new BorderLayout());
gora.add(jt1, BorderLayout.CENTER);

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