Java SetClip, кажется, перерисована
-
20-09-2019 - |
Вопрос
У меня проблемы с 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.
Любые предложения будут высоко ценится. Заранее благодарю за любую помощь.
Решение
Создание нового графического объекта из старого помогло мне, как посоветовал Том.