Java Swing 中的 Revalidate() 与 Repaint():综合指南
背景:
中在 Swing 应用程序中,操纵组件的布局和外观通常是必要的。实现此目的的两个关键方法是 revalidate() 和 repaint()。
问题:
使用 JPanel 时,观察到使用removeAll() 替换内容,然后使用 revalidate( ) 使旧内容可见。但是,在 revalidate() 旁边添加 repaint() 可以解决该问题。为什么会出现这种差异?
答案:
repaint() 和 revalidate() 扮演不同的角色:
仅在某些情况下调用 revalidate() 就足够了,但通常建议同时调用 repaint() 和 revalidate()。 repaint() 确保删除旧内容,而 revalidate() 确保新布局计算并正确显示。
其他注意事项:
以上是为什么'removeAll()”后跟'revalidate()”有时会在 JPanel 中留下旧内容可见,添加'repaint()”如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!