    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class PlaylistListener implements MouseListener
    {
            private JLabel label;
            private boolean actif;

            public PlaylistListener(JLabel label)
            {
                    this.label = label;
                    label.setOpaque(true);

                    actif = false;
            }

            @Override
            public void mouseClicked(MouseEvent evenement)          // un bouton cliqué
            {
                    actif = !actif;

                    if (actif)
                    {
                            label.setBackground(Color.GRAY);
                    }
                    else
                    {
                            label.setBackground(Color.WHITE);
                    }
            }

            @Override
            public void mouseEntered(MouseEvent evenement)          // debut du survol
            {
                    label.setBackground(Color.CYAN);
            }

            @Override
            public void mouseExited(MouseEvent evenement)           // fin du survol
            {
                    if (actif)
                    {
                            label.setBackground(Color.GRAY);
                    }
                    else
                    {
                            label.setBackground(Color.WHITE);
                    }
            }

            @Override
            public void mousePressed(MouseEvent evenement)          // un bouton appuyé
            {
                    // Rien
            }

            @Override
            public void mouseReleased(MouseEvent evenement)         // un bouton relâché
            {
                    // Rien
            }
    }
