Я хочу сделать что-то на моей GlassPane. Проблема в том, что если я перемещаю визуализированные линии вокруг, то ранее отображаемые пиксели имеют один и тот же цвет. Я не могу использовать g.clearRect, потому что он не очищает прозрачность.Java GlassPanel прозрачный прозрачный фон
Вот мой код рендеринга:
Graphics2D g2 = (Graphics2D) g;
for(LinePath line : lines)
{
for(int i = 0; i < line.points.length; i+=2)
{
if(i != 0)
{
g.drawLine((int)line.points[i-2],(int)line.points[i-1],(int)line.points[i],(int)line.points[i+1]);
}
}
}
//Clearing alpha
Area area = new Area();
// This is the area that will filled...
area.add(new Area(new Rectangle2D.Float(0, 0, getWidth(), getHeight())));
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.0f));
g2.fill(area);
И вот результат:
Чтобы лучше помочь, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) (минимальный полный проверяемый пример) или [SSCCE] (http://www.sscce.org/) (Short , Self Contained, Правильный пример). –