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).
Что я делаю неправильно? Или есть даже лучший способ сделать это?