質問

JavaのSetClipに問題があります。 JPanelを拡張するクラスがあります。そのクラス内で、私は塗装結合法をオーバーライドしました。私のpaintcomponentメソッドは次のようになります:

paintComponent {
    //draw some lines here
    Rectangle whole = g2.getClipBounds();//g2 is my Graphics2D object
    Rectangle part = <some rectangle that is a part of the whole paintable area>;
    g2.setClip(part);
    //draw some more stuff here
    g2.setClip(whole);
}

私が見ている問題は、切り取られた領域の領域が繰り返し塗装されているように見えるということです。たとえば、ペイントするように言うと、ペイントはうまくいきます。しかし、その後、Windowsを切り替えたり、どういうわけか同じものを再びペイントさせたりすると、残りが残りの間に切り取られた領域はクリアされていません。これにより、クリップされた領域の絵画が塗装可能な領域の他の部分よりも大胆に見えるようになります。

SetClipの仕組みについて何かが足りないと思います。

どんな提案でも大歓迎です。どんな助けにもよろしくお願いします。

役に立ちましたか?

解決

Tomからアドバイスされたように、古いものから新しいグラフィックオブジェクトを作成することは私のためにトリックをしました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top