Trocar icon do Label através do jButton

Então, por algum motivo que eu não consegui encontrar, o icon do Label não troca quando eu clico no Button (ActionPerformed), tentei inúmeras coisas, mas nenhuma consegue trocar o ícone do label apertando o button.

PS: Somente no button que não funciona, em um TextField por ex, quando ele perde o focus eu consigo fazer trocar o icon.

Segue um dos códigos dentro do Button que altera o icon do Label:

if(JTFUser.getText().equals("")){
     JLBG.setIcon(new ImageIcon("src/Images/Register/UserError.png"));
     JTFUser.setText("");
     return;
}

Há outros IF’s de verificação com a mesma lógica com o de cima. Acho que não é necessário por os outros aqui.

Estranho , testei uma troca de ícones por botões e funcionou aqui:

import java.awt.EventQueue;     
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;



public class TesteIcon extends JFrame {


 
	private static final long serialVersionUID = -947621249806008126L;
	private JPanel            contentPane;
	private boolean           troca            = false;
	private JLabel            lblNewLabel;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {

		EventQueue.invokeLater(new Runnable() {


			public void run() {

				try {
					TesteIcon frame = new TesteIcon();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}

		});
	}

	/**
	 * Create the frame.
	 */
	public TesteIcon() {

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		JButton btnNewButton = new JButton("New button");
		btnNewButton.addActionListener(new ActionListener() {


			public void actionPerformed(ActionEvent e) {

				System.out.println(troca);
				if (troca) {
					lblNewLabel.setIcon(new ImageIcon(TesteIcon.class.getResource("/imgs/reconnect.png")));
					troca = false;
				} else {
					lblNewLabel.setIcon(new ImageIcon(TesteIcon.class.getResource("/imgs/disconnect.png")));
					troca = true;
				}


			}

		});
		btnNewButton.setBounds(10, 11, 89, 23);
		contentPane.add(btnNewButton);

		lblNewLabel = new JLabel("Icone");
		lblNewLabel.setIcon(new ImageIcon(TesteIcon.class.getResource("/imgs/reconnect.png")));
		lblNewLabel.setBounds(10, 55, 190, 48);
		contentPane.add(lblNewLabel);


	}

}

Troque o caminho dos ícones por ícones existentes na sua máquina e teste pra ver se te atende.