Interrupciones gráficas de Java Swing relacionadas con la transparencia y las imágenes

Así que tengo este formulario de inicio de sesión y tengo una "foto de usuario". Estoy tratando de que cuando pases el mouse sobre el área de la foto, aparezca una etiqueta transparente con un fondo de color (para dar el efecto de "seleccionar la foto"). Se parece a esto:

Y una vez que mueves el mouse, vuelve a ser "deseleccionado".

Ahora mi problema es que si pasa el mouse sobre el botón de inicio de sesión y luego mueve el mouse sobre la foto, aparece el "botón de inicio de sesión fantasma". Se parece a esto:

No sé por qué está sucediendo esto. ¿Alguien puede ayudar? Aquí está el código relevante:

package com.stats;

public class Stats extends JFrame implements Serializable {

    private JLabel fader;

    public Stats() {

    try {
        Image image = ImageIO.read(new File(System.getenv("APPDATA")
                                   + "\\Stats\\Renekton_Cleave.png"));
        JLabel labelUserPhoto = new JLabel(new ImageIcon(image));
        fader = new JLabel();
        fader.setBounds(97, 44, 100, 100);
        fader.setOpaque(true);
        fader.setBackground(new Color(0, 0, 0, 0));
        labelUserPhoto.setBounds(97, 44, 100, 100);
        PicHandler ph = new PicHandler();
        contentPane.add(fader);
        contentPane.add(labelUserPhoto);
        fader.addMouseMotionListener(ph);
    } catch(Exception e) {
        e.printStackTrace();
    }
}

private class PicHandler implements MouseMotionListener {
    public void mouseDragged(MouseEvent e) { }
    public void mouseMoved(MouseEvent e) {
        int x = e.getX();
        int y = e.getY();

        System.out.println("x: " + x + ", y: " + y);

        if ((x > 16 && x < 80) && (y > 16 && y < 80)) {
            if (!fader.isOpaque()) {
                fader.setOpaque(true);
                fader.setBackground(new Color(0, 0, 0, 40));
                fader.repaint();
            }
        } else {
            if (fader.isOpaque()) {
                fader.setOpaque(false);
                fader.repaint();
            }
        }
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta