Я збираю додаток Swing, де мені часто хочеться замінити вміст JPanel. Для цього я дзвоню removeAll()
, потім додаю новий вміст, потім дзвоню revalidate()
.
Однак я знаходжу, що старий вміст все ще є видимим (хоч і приховується новим вмістом). Якщо додати виклик repaint()
на додаток до revalidate()
, він працює , як очікувалося.
Я впевнений, що в інших випадках я відчував, що достатньо лише дзвінків revalidate()
.
Тому в основному моє запитання - чи потрібно мені викликати обидві функції, а якщо ні, то коли я повинен викликати кожну з них?