我想显示一种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
避免此注释问题的任何想法?