у вас есть две четыре опции
1) использовать JLabel + Icon + Html (<= Html 3.2) </p>
2) использовать XxxButtonUI и переопределить все необходимые методы из API
3) JLayeredPane с полупрозрачностью ???, другой Layout с полупрозрачностью, как JLabel или JComponent для JButton,
4) существует множество графических программ, которые могут подготовить Background как* .jpg для Icon, тогда очень просто изменить что-либо по событию, действию или фактической настройке для JButton
неверный способ ищет JLabel + Независимо от JButton, я думаю, что это обходной путь половинного размера