如何阻止 JButton 背景仅显示为边框

How to stop JButton background only appearing as a border

我正在为最近的颜色(在 4 * 4 网格中)创建一个 AbstractColorChooserPanel,并且在为最近的颜色设置背景颜色时它只显示为按钮的边框而不是填充按钮。

根据this,下面的代码应该有效:

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

我也试过添加

button.setBorderPainted(false);

但所有显示的都是带有红色边框的灰色(标准颜色)按钮。 我尝试将代码放在 JColorChooser 外部的按钮上并收到相同的效果。 example

如何才能让整个按钮充满红色,而不仅仅是边框?

编辑:问题原来是 UIManager(默认系统外观) 为了解决这个问题,我修改了 this 解决方案中使用的代码。

尝试添加这个:

button.setContentAreaFilled( false );