java – How to make the JButton background not appear as a border

I create an AbstractColorChooserPanel for recent colors (in a 4 * 4 grid) and when setting the background color for recent colors, it only appears as a border for the button instead of filling it .

According to this, the code below should work:

button.setBackground (Color.RED);
button.setOpaque (true);

but all that is displayed is a gray button (standard color) with a red border.
I've tried putting the code on a button outside JColorChooser and I've received the same effect. Example

How can I make sure the entire button is filled with the red color instead of the border?