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 JToggleButtonpublicvoiditemStateChanged(ItemEventEvento){// ------------------------------ 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