У меня есть Frame extends JFrame
в моем проекте, который является просто фреймом, содержащим объект Controller
, который обновляется во время выполнения программы и используется для обновления экрана.Я перебрал JFrame#paintComponent(Graphics g)
, поэтому, когда я звоню JFrame#repaint
, мой Frame
перерисовывается.Я знаю, что мой фрейм будет перекрашен не только при вызове его метода перерисовки, но и при изменении размера, установите видимым (плюс еще один, я забыл?).Размер моей рамки не будет изменяться, но будет минимальным.И проблема в том, что я могу обеспечить стабильность моего Controller
объекта только во время моих прямых repaint
вызовов.Поэтому я искал и обнаружил JFrame#setIgnoreRepaint
, но я не уверен, что полностью понимаю его определение javadoc:
Устанавливает, следует ли игнорировать сообщения рисования, полученные из операционной системы.Это не влияет на события рисования, генерируемые программным обеспечением AWT, если они не являются немедленным ответом на сообщение рисования на уровне ОС.
Как вы думаете, я могу его использовать?Или это опасно ?
Я повторяю свою проблему: мне нужно убедиться, что paintComponent / repaint вызывается только автоматически, и если я могу использовать JFrame#setIgnoreRepaint
для достижения этого.Кроме того, это нормально, чтобы никогда не позволять переписывать звонки происходят автоматически?
РЕДАКТИРОВАТЬ: Я продолжал поиск, и я нашел тему (я больше не могу ее найти, извините), где кто-то говорил о RepaintManager#markCompletlyClean
, это потенциальное решение моей проблемы?