Have you tried setting JButton.setOpaque(true)?
JButton button = new JButton("test"); button.setBackground(Color.RED); button.setOpaque(true);
Have you tried setting JButton.setOpaque(true)?
JButton button = new JButton("test"); button.setBackground(Color.RED); button.setOpaque(true);