作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当向 swing 发送更新请求时(系统触发,例如由于调整大小或被另一个窗口阻塞,或者应用程序触发,例如通过调用 repaint() 方法),这个请求实际上是如何处理的? RepaintManager 中发生了什么过程?
最佳答案
来自您的评论:
Do you know what happens in peer.getGraphics()?
这取决于使用哪个对等实现。
一个实现是 WComponentPeer
(在 Windows 上运行时使用),它似乎使用两种方法来获取 Graphics
对象:
如果组件有一个类型为 Window
的父级(或者本身就是一个),而父级又有一个关联的后台缓冲区图像,则该图像的 Graphics
对象是回来。这取决于图像的类型,但最有可能是在 createGraphics()
中创建的 SunGraphics2D
实例。
否则,将检索一个 ScreenUpdateManager
实例并对其调用 createGraphics(...)
,然后返回一个新的 SunGraphics2D
实例。
请注意,这只是一种可能的方法,它在很大程度上取决于所使用的操作系统、JVM 和 UI 工具包。
关于java - 在 swing-java 中,Graphics 实例从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554838/
我是一名优秀的程序员,十分优秀!