gpt4 book ai didi

java - 在 swing-java 中,Graphics 实例从何而来?

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

当向 swing 发送更新请求时(系统触发,例如由于调整大小或被另一个窗口阻塞,或者应用程序触发,例如通过调用 repaint() 方法),这个请求实际上是如何处理的? RepaintManager 中发生了什么过程?

最佳答案

来自您的评论:

Do you know what happens in peer.getGraphics()?

这取决于使用哪个对等实现。

一个实现是 WComponentPeer(在 Windows 上运行时使用),它似乎使用两种方法来获取 Graphics 对象:

  1. 如果组件有一个类型为 Window 的父级(或者本身就是一个),而父级又有一个关联的后台缓冲区图像,则该图像的 Graphics 对象是回来。这取决于图像的类型,但最有可能是在 createGraphics() 中创建的 SunGraphics2D 实例。

  2. 否则,将检索一个 ScreenUpdateManager 实例并对其调用 createGraphics(...),然后返回一个新的 SunGraphics2D 实例。

请注意,这只是一种可能的方法,它在很大程度上取决于所使用的操作系统、JVM 和 UI 工具包。

关于java - 在 swing-java 中,Graphics 实例从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554838/

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