Colocación de componente en panel de vidrio

Tengo una subclase de JLabel que forma un componente de mi GUI. He implementado la capacidad de arrastrar y soltar el componente de un contenedor a otro, pero sin ningún efecto visual. Quiero que este JLabel siga el cursor durante el arrastre del elemento de un contenedor a otro. Pensé que podría crear un panel de vidrio y dibujarlo allí. Sin embargo, incluso después de agregar el componente al panel de vidrio, configurar el componente visible y configurar el panel de vidrio visible, y configurar el panel de vidrio como opaco, todavía no veo el componente. Sé que el componente funciona porque puedo agregarlo al panel de contenido y hacer que aparezca.

¿Cómo agrego un componente al cristal?

Finalmente descubrí cómo hacer que el ejemplo simple funcione. Gracias @akf. Pude adaptar esta solución a mi problema original, permitiéndome eliminar ~ 60 líneas de código Java2D que representaban manualmente una representación de 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);
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta