I have a JPanel which contains a lot of child components. While updating\adding new components to the parent JPanel I'd like to prevent it from repainting, how can this achieved?
Try RepaintManager.currentManager(component).markCompletelyClean(component). It will prevent the component from repainting. You might need to do this after each time you add new components.
setVisible(false)
update
setVisible(true)
you could try by using setIgnoreRepaint(boolean value)
but it's a typical swing feature that can or cannot work (mainly because it depends from AWT so you never know).
Otherwise you could override the paint
method by using a flag that simply makes the methor return without calling super.paint()
. (actually overriding paintComponent
should be the right choice)
来源:https://stackoverflow.com/questions/4065456/prevent-java-from-repainting-the-content-of-a-jpanel-while-updating