Java - 获取图形



>im 正在制作一个 Java 摇摆游戏。我听说 swing 组件不使用活动渲染(您只能覆盖绘制方法),因此,我一直在将 BufferStrategy 与 Canvas 一起使用。现在我从JComponnent 和 JPanel 那里发现了getGraphics()方法。如果我们可以在 swing 组件中进行活动渲染,为什么游戏教程仍然覆盖paint()paintComponent()

永远不要

使用getGraphics,它可以返回null,只不过是最后一个绘画周期的快照。

您为其绘制的任何内容都将在下一个绘制周期中移除。 在 Swing 中,您无法控制绘制过程,并且可能出于多种原因启动绘制周期,其中许多原因您无法控制或会通知(除非在调用绘制时)

基本答案是,如果您想控制绘画过程,则必须使用BufferStrategy或实现您自己的屏幕外绘图例程。 在 Swing API 中,您无法实现真正的活动绘制过程,您可以在一定程度上伪造它,但 Swing 仍然能够在它认为合适的情况下执行自己的绘制周期。

查看 AWT 中的绘画和 Swing 和执行自定义绘画,了解有关 Swing 中绘画如何工作的更多详细信息

相关内容

  • 没有找到相关文章

最新更新