Запретить Java перерисовывать содержимое JPanel при обновлении - PullRequest
1 голос
/ 01 ноября 2010

У меня есть JPanel, который содержит много дочерних компонентов. При обновлении \ добавлении новых компонентов в родительскую JPanel я хотел бы предотвратить перекрашивание, как это можно сделать?

Ответы [ 3 ]

7 голосов
/ 01 ноября 2010

Попробуйте RepaintManager.currentManager (компонент) .markCompletelyClean (компонент) .Это предотвратит перекрашивание компонента.Возможно, вам придется делать это после каждого добавления новых компонентов.

2 голосов
/ 27 января 2012
setVisible(false)  

обновление

setVisible(true)
1 голос
/ 01 ноября 2010

вы можете попробовать, используя setIgnoreRepaint(boolean value), но это типичная функция свинга, которая может или не может работать (в основном потому, что это зависит от AWT, поэтому вы никогда не знаете).

В противном случае вы можете переопределить метод paint, используя флаг, который просто возвращает метор без вызова super.paint(). (на самом деле переопределение paintComponent должно быть правильным выбором)

...