Problema com RadioButtons

Estava programando aqui e fiz alguns radiobuttons coloquei em group, e basicamente é assim, quando eles não estão selecionados eles ficam com uma imagem de um circulo e quando vc passa o mouse por cima o meio do circulo é preenchido(imagem muda), isso tudo pelo MouseListener, tbm fiz um ActionListener para gerar valor para uma variavel, porém eu queria que quando o radiobutton fosse selecionado ficasse com a imagem do circulo preenchido e quando outro fosse selecionado o primeiro voltasse para a imagem do circulo e o novo fosse para a imagem totalmente preenchida, só que o que está acontecendo é que quando clico ele seleciona mas fica na dependencia do MouseListener qual imagem aparecerá

rb1.setIcon(new ImageIcon(getClass().getResource("/Imagens/Circulo1.png")));
        rb1.addMouseListener(new MouseAdapter() 
        {
            @Override
            public void mouseExited(MouseEvent arg0) 
            {
                rb1.setIcon(new ImageIcon(getClass().getResource("/Imagens/Circulo1.png")));
            }
            @Override
            public void mouseEntered(MouseEvent e) 
            {
                rb1.setIcon(new ImageIcon(getClass().getResource("/Imagens/Bola1.png")));
            }
        });
        rb1.addActionListener(new ActionListener() 
        {
            public void actionPerformed(ActionEvent arg0) 
            {
               int = 1;
            }
	});
        contentPane.add(rb1);



rb2.setIcon(new ImageIcon(getClass().getResource("/Imagens/Circulo2.png")));
        rb2.addMouseListener(new MouseAdapter() 
        {
            @Override
            public void mouseExited(MouseEvent arg0) 
            {
                rb2.setIcon(new ImageIcon(getClass().getResource("/Imagens/Circulo2.png")));
            }
            @Override
            public void mouseEntered(MouseEvent e) 
            {
                rb2.setIcon(new ImageIcon(getClass().getResource("/Imagens/Bola2.png")));
            }
        });
        rb2.addActionListener(new ActionListener() 
        {
            public void actionPerformed(ActionEvent arg0) 
            {
               int = 2;
            }
	});
        contentPane.add(rb2);

Oq posso fazer para quando selecionado ele altere a imagem?

Você vai precisar verificar quem está e quem não está selecionado.
Esta codificação faz algo parecido com o que você solicitou, usando como base a sua codificação, com uma pequena reengenharia.

import java.awt.event.ItemEvent;
import java.awt.event.MouseEvent;
import java.util.Enumeration;
import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JRadioButton;

public class Crisis extends javax.swing.JFrame {

    private final ButtonGroup bg = new ButtonGroup();
    //fica mais facil ordenar as imagens aqui
    private final String[] imagens = {"/Imagens/Circulo1.png", "/Imagens/Bola1.png", "/Imagens/Bola2.png"};
    
    //Coordena a alternação das imagens
    private void alternar(JRadioButton rb) {
        rb.setIcon(new ImageIcon(getClass().getResource(imagens[0])));
        //só devemos alterar a imagem caso ela não esteja selecionada
        rb.addMouseListener(new java.awt.event.MouseAdapter() {
            @Override
            public void mouseExited(MouseEvent me) {
                if (!rb.isSelected()) {
                    rb.setIcon(new ImageIcon(getClass().getResource(imagens[0])));
                }
            }

            @Override
            public void mouseEntered(MouseEvent e) {
                if (!rb.isSelected()) {
                    rb.setIcon(new ImageIcon(getClass().getResource(imagens[1])));
                }
            }
        });
        
        rb.addItemListener((ItemEvent evt) -> {
            Enumeration<AbstractButton> botoes = bg.getElements();
            //so devemos alterar alguma coisa se o evento foi de seleção, ou seja quando o botão é selecionado
            if (evt.getStateChange() == ItemEvent.SELECTED) {
                while (botoes.hasMoreElements()) {
                    JRadioButton atual = (JRadioButton) botoes.nextElement();
                    atual.setIcon(new ImageIcon(getClass().getResource(atual.isSelected() ? imagens[2] : imagens[0])));
                }
            }
        });
    }

    private void configurar(JRadioButton... jRBotoes) {
        for (JRadioButton botao : jRBotoes) {
            bg.add(botao);
            alternar(botao);
            botao.setText("");
        }
    }

    public Crisis() {
        initComponents();//Jframe gerado pelo NetBeans, ajuste ao seu
        configurar(rb1, rb2, rb3);
    }
}

… o restante da codificação é desnecessário, pois usei um JFrame gerado pelo netBeans com três jRadioButtons nomeados como rb1, rb2 e rb3, assim, adapte à sua codificação.