Лучший способ раскрасить кнопки - использовать ImageIcons вместо текста.Вы можете использовать Gimp для их разработки.
Убедитесь, что фон прозрачный !
button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/myimage.png")));
Это отключенная кнопка button.setDisabledIcon(...
:
Это активированная кнопка, не нажатая:
Это нажатая активированная кнопка:
Изменение цвета фона после нажатия производится Swing.Для этого вам нужно всего 2 изображения.