Você deverá fazer a mudança do icone do botao no tratamento de eventos, o trecho de programa abaixo foi retirado de um programa que fiz que utilizava JToggleButton, o que vc deve fazer é o seguinte:
// Método para controle de eventos sobre botões da classe JToggleButton
public void itemStateChanged(ItemEvent Evento)
{
// ------------------------------ Botao 1 -----------------------------------
if (Evento.getItem() == Botao1)
{
if (Evento.getStateChange() == ItemEvent.SELECTED)
Botao1.setIcon(Icone1); // Muda o icone do objeto para a figura Icone1 quando o botão for selecionado
else if (Evento.getStateChange() == ItemEvent.DESELECTED)
Botao1.setIcon(Icone2);//Muda o icone do objeto para a figura Icone2 quando o botão for deselecionado