Java:使用alpha绘制重绘工件

时间:2012-07-20 19:57:24

标签: java transparent alpha repaint artifacts

我刚刚在JPanel上有一个包含透明部分的工件问题。 我的JPanel重写了paintComponent()方法:

protected void paintComponent(Graphics g) {
    g2d = (Graphics2D) g;
    drawMyAplhaImage(g2d);
}

Repaint Artifacts

如您所见,JPanel上绘制的图像比JPanel本身略小。

1 个答案:

答案 0 :(得分:0)

解决方案是重绘父组件。

要保存资源,我只需重新绘制JPanel的区域。

新的paintComponent()方法:

protected void paintComponent(Graphics g) {
    g2d = (Graphics2D) g;
    getParent().repaint(getX(), getY(), getWidth(), getHeight());
    drawMyAplhaImage(g2d);
}