Colocando o componente no painel de vidro

Eu tenho uma subclasse de JLabel que forma um componente da minha GUI. Eu implementei a capacidade de arrastar e soltar o componente de um contêiner para outro, mas sem efeitos visuais. Quero que esse JLabel siga o cursor durante o arrasto do item de um contêiner para outro. Imaginei que poderia criar um painel de vidro e desenhá-lo lá. No entanto, mesmo depois de adicionar o componente ao painel de vidro, definir o componente visível e definir o painel de vidro visível e definir o painel de vidro como opaco, ainda assim não vejo o componente. Sei que o componente funciona porque posso adicioná-lo ao painel de conteúdo e fazer com que ele apareça.

Como adiciono um componente ao painel de vidro?

Finalmente descobri como obter o exemplo simples funcionando. Obrigado, @akf. Consegui adaptar esta solução ao meu problema original, permitindo remover ~ 60 linhas de código Java2D que renderizavam manualmente uma representação do JLabel.

package test;

import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;

public class MainFrame extends JFrame {

    /**
     * @param args
     */
    public static void main(String[] args) {
        MainFrame mf = new MainFrame();
        mf.setSize(400, 400);
        mf.setLocationRelativeTo(null);
        mf.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        mf.setGlassPane(new JPanel());

        JLabel l = new JLabel();
        l.setText("Hello");
        l.setBorder(new LineBorder(Color.BLACK, 1));
        l.setBounds(10, 10, 50, 20);
        l.setBackground(Color.RED);
        l.setOpaque(true);
        l.setPreferredSize(l.getSize());

        //mf.add(l);
        ((JPanel)mf.getGlassPane()).add(l);
        mf.getGlassPane().setVisible(true);

        mf.setVisible(true);
    }
}

questionAnswers(4)

yourAnswerToTheQuestion