Прозрачная стеклянная панель: проблема с перекрытием

Я хотел бы показать GlassPane с неким эффектом размытия. В общих чертах, примерно так:

введите описание изображения здесь

Я пытался использовать как GlassPane JPanel с прозрачным фоном. Вот код моей пользовательской панели.

JPanel glassPane = new JPanel(){
    @Override
    public void paint(java.awt.Graphics g) {
        Graphics2D g2 = (Graphics2D)g.create();         

        g2.setRenderingHint(java.awt.RenderingHints.KEY_ANTIALIASING,java.awt.RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setComposite(java.awt.AlphaComposite.SrcOver.derive(0.5f));
        g2.setPaint(myColor);
        g2.fillRect(0,0,this.getWidth(),this.getHeight());
        g2.dispose();
    };
}

Проблема в том, что когда я загружаю GlassPane У меня есть своего рода пересекающаяся проблема. Т.е. кажется, что все элементы нижеследующего пользовательского интерфейса (те, что отображаются на панели под только что загруженной стеклянной панелью) случайно отображаются на GlassPane, Это происходит не только в GlassPane, но каждый раз, когда я пытаюсь использовать trnsparent цвета с Graphics2d, Вот что я получаю:

введите описание изображения здесь

Любая идея о том, как создать прозрачный GlassPane избежать этой проблемы аннотирования?

0 ответов

Другие вопросы по тегам