0

透明部分を含む JPanel でアーティファクトに問題がありました。私の JPanel は、paintComponent() メソッドをオーバーライドします。

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

アーティファクトの再描画

ご覧のとおり、JPanel に描画されたイメージは、JPanel 自体よりも少し小さくなっています。

4

1 に答える 1

0

解決策は、親コンポーネントを再描画することです。

リソースを節約するために、JPanel の領域を再描画するだけです。

新しい paintComponent() メソッド:

protected void paintComponent(Graphics g) {
    g2d = (Graphics2D) g;
    getParent().repaint(getX(), getY(), getWidth(), getHeight());
    drawMyAplhaImage(g2d);
}
于 2012-07-20T19:57:24.223 に答える