gpt4 book ai didi

java - 仅使用 Swing 进行主动渲染

转载 作者:行者123 更新时间:2023-11-30 03:31:13 25 4
gpt4 key购买 nike

是否可以仅使用 Swing 组件(无 Canvas 或任何其他 AWT 组件)通过双缓冲执行主动渲染?这意味着不应依赖 EDT 来处理渲染的任何方面。

编辑:我正在编写的引发此问题的程序不是全屏的。

最佳答案

Java 支持 Full-Screen Exclusive Mode API 中的主动渲染:
Passive vs. Active Rendering

而且在 AWT 上也有一些方法可以显式控制渲染(无需全屏):

  • 让您的渲染组件扩展 java.awt.Canvas
  • 忽略来自 EDT 的重绘请求:setIgnoreRepaint(true);
  • 创建双缓冲(翻页)的缓冲策略
  • 绘制后更新缓冲区:strategy.show()
  • 将更新后的图形显示到屏幕上:Toolkit.getDefaultToolkit().sync();

这是一篇关于该主题的好文章,其中包括一个示例:
Java Game (Actually the most efficient way to repaint)

关于java - 仅使用 Swing 进行主动渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986963/

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