gpt4 book ai didi

java - JFrame.repaint() 和 JPanel.repaint() 的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:27:48 27 4
gpt4 key购买 nike

谁能解释一下JPanel.repaint() 方法和JFrame.repaint() 方法之间的区别,我想两者都调用了paintComponent() JPanel 中的方法。

请说明,谢谢

最佳答案

在任何组件上调用 repaint() 都会向重绘管理器添加一个请求以绘制该组件。如果条件正确,管理器将安排调用组件的 paint(...) 方法。由于 Component 的 paint 方法随后将调用 paintComponent(...)paintBorder(...)paintChildren(...) 这将使组件绘制自身、其边框和级联绘制递归到其所有子项、它们的子项、它们的子项的子项等。在 JFrame 上调用此方法将导致此级联在整个顶级窗口中发生,而在子组件将导致重新绘制该组件及其子组件。

请注意,调用 repaint() 并不能保证重绘管理器会绘制组件,尤其是在存在堆栈请求的情况下。更多详情请阅读Painting in AWT and Swing .

关于java - JFrame.repaint() 和 JPanel.repaint() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11708678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com