Java setClip, кажется, перерисовать
У меня есть некоторые проблемы с setClip в Java. У меня есть класс, который расширяет 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.
Любые предложения будут высоко ценится. Заранее благодарю за любую помощь.
1 ответ
Создание нового объекта Graphics из старого помогло мне. Спасибо, Том!