BorderLayout nie wyświetla się poprawnie

Chcę mieć JFrame, gdzie po lewej i prawej stronie znajduje się obramowanie o kolorze czarnym i szerokości withfOfJFrame / 10.

Teraz moja próba wygląda tak:

JFrame f = new JFrame();
f.setSize(800, 600);
f.setLayout(new BorderLayout());

JPanel leftBorder = new JPanel();
JPanel rightBorder = new JPanel();
leftBorder.setBackground(Color.black);
rightBorder.setBackground(Color.black);
leftBorder.setSize(f.getWidth()/10, f.getHeight());
rightBorder.setSize(f.getWidth()/10, f.getHeight());
JPanel center = new JPanel();
center.setBackground(Color.red);

f.add(leftBorder, BorderLayout.WEST);
f.add(center, BorderLayout.CENTER);
f.add(rightBorder, BorderLayout.EAST);    
f.setVisible(true);

Dodaje to czarną ramkę po lewej i prawej stronie, ale ta granica ma stały rozmiar i nie przelicza się przy zmianie rozmiaru okna. Rozmiar nie wynosi nawet 1/10 800 (początkowa szerokość JFrame).

Co ja robię źle? A może jest jeszcze lepszy sposób na to?

questionAnswers(2)

yourAnswerToTheQuestion