Como definir uma cor de fundo de um JButton em Java?

Estou desenvolvendo um aplicativo Java Desktop. Nele eu tenho 4JButtons com umJPanel. Agora, quero que sempre que um botão for clicado, a cor de fundo seja alterada para outra cor (por exemplo, laranja) para representar que ele foi clicado e a cor de fundo de todos os outros 3 botões será redefinida para a cor padrão (caso algum deles tenha Laranja cor de fundo).

Portanto, ao mesmo tempo, apenas um botão pode ter a cor laranja.

A abordagem atual que apliquei é a implementação do código a seguir noxxxActionPerformed() método do JButton button1

button1.setBackground(Color.Orange);
button2.setBackground(Color.Gray);
button3.setBackground(Color.Gray);
button4.setBackground(Color.Gray);

e da mesma forma para os outros três botões.

Agora, na verdade, não quero a cor do backgroud como Cinza (para botão não clicado). Em vez disso, quero a cor de plano de fundo padrão para que a cor do backgroud se ajuste à aparência da GUI de acordo com a aparência da plataforma do usuário final.

Q1 Como posso obter a cor de fundo padrão?

Q2 Essa é a abordagem correta para fazer isso ou existe algum outro mecanismo pelo qual eu possa agrupar todos os quatro botões em um grupo de botões para que apenas um possa ter a propriedade especificada ao mesmo tempo (como botões de opção)?