BorderLayout wird nicht korrekt angezeigt

Ich möchte einen JFrame haben, wobei sich links und rechts ein Rand befindet, der die Farbe Schwarz und eine Breite von withfOfJFrame / 10 hat.

Nun, mein Versuch sieht so aus:

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

Dies fügt links und rechts einen schwarzen Rand hinzu, der jedoch eine feste Größe hat und beim Ändern der Fenstergröße nicht neu berechnet wird. Die Größe ist nicht einmal 1/10 von 800 (die Anfangsbreite des JFrame).

Was mache ich falsch? Oder gibt es dafür noch einen besseren Weg?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage