How to have two JPanels which always take up half the screen each, split horizontally?

Viewed 8373

As described in the title. I've got two JPanels one on top of the other using a BorderLayout().

import java.awt.*;
import javax.swing.*;

public class myForm(){
    public static void main(String[] args) {       
        JFrame myFrame = new JFrame("SingSong");
        myFrame.setLocation(100,100);
        myFrame.setSize(new Dimension(1024,800));
        myFrame.setLayout(new BorderLayout());
        JPanel jp = new JPanel();
        jp.setBackground(new Color(0x00FF00FF));
        JPanel jp2 = new JPanel(new BorderLayout());
        jp2.setBackground(new Color(0x00000000));

        jp.setPreferredSize(new Dimension(100,400));
        jp2.setPreferredSize(new Dimension(100,400));
        jp2.setLocation(0, 512);

        myFrame.add(jp2, BorderLayout.SOUTH);
        myFrame.add(jp, BorderLayout.NORTH);
    }
}        

They each take up half, but how can I go about setting it so that they always take up half the JFrame each, even when resized? (P.S. I normally use better variable names, I just whipped up that as an SSCCE)

2 Answers
Related