BorderLayout не отображается правильно

Я хочу иметь JFrame, где слева и справа есть граница, которая имеет черный цвет и ширину withfOfJFrame / 10.

Теперь моя попытка выглядит так:

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);

Это добавляет черную границу слева и справа, но эта граница имеет фиксированный размер и не пересчитывается при изменении размера окна. Размер даже не 1/10 от 800 (начальная ширина JFrame).

Что я делаю неправильно? Или есть даже лучший способ сделать это?

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

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