0

我想显示一种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我有一种重叠的问题。也就是说,下面 UI 的所有元素(显示在刚加载的玻璃窗格下方的面板中的元素)似乎都随机镜像在GlassPane. 这不仅发生在 . 中GlassPane,而且每次我尝试将 trnsparent 颜色与Graphics2d. 这就是我得到的:

在此处输入图像描述

关于如何创建透明以GlassPane避免此注释问题的任何想法?

4

0 回答 0