У меня есть подкласс JLabel, который формирует компонент моего графического интерфейса. Я реализовал возможность перетаскивания компонента из одного контейнера в другой, но без каких-либо визуальных эффектов. Я хочу, чтобы этот JLabel следовал курсору во время перетаскивания элемента из одного контейнера в другой. Я подумал, что могу просто создать стеклянное стекло и нарисовать его там. Однако, даже после того, как я добавлю компонент к стеклянному стеклу, установите компонент видимым и установите прозрачную стеклянную панель и установите стеклянную панель непрозрачной, я все еще так не вижу компонент. Я знаю, что компонент работает, потому что я могу добавить его в панель содержимого и показать его.
Как добавить компонент в стеклянную панель?
Наконец понял, как заставить простой пример работать. Спасибо, @akf. Я смог адаптировать это решение к своей первоначальной проблеме, что позволило мне удалить ~ 60 строк кода Java2D, которые вручную отображали представление 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);
    }
}
