题
我在Java中与SetClip遇到了一些麻烦。我有一个扩展jpanel的课程。在该类中,我已经覆盖了paintComponent方法。我的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);
}
我看到的问题是,剪裁区域中的区域似乎反复绘制。例如,如果我告诉它绘画,那就很好。但是,如果我切换窗户或其他方式导致它再次绘制了同一件东西,则在其余部分时未清除剪裁的区域。这导致剪裁区域上的绘画看起来比其他可油漆区域都要大胆。
我想我缺少SetClip的工作方式。
任何建议将不胜感激。在此先感谢您的任何帮助。
解决方案
正如汤姆(Tom)所建议的那样,从旧图形创建一个新的图形对象为我带来了困难。
不隶属于 StackOverflow