gpt4 book ai didi

Java-获取图形

转载 作者:行者123 更新时间:2023-12-01 18:19:20 25 4
gpt4 key购买 nike

我正在制作一个 Java Swing 游戏。我听说 Swing 组件不使用主动渲染(您只能覆盖绘制方法),因此,我一直在 Canvas 中使用 BufferStrategy。现在我发现了 JComponent 和 JPanel 中的 getGraphics() 方法。如果我们可以在 swing 组件中进行主动渲染,为什么游戏教程仍然重写 paint()paintComponent()

最佳答案

永远不要使用getGraphics,它可以返回null,并且只不过是最后一个绘制周期的快照。

您在其上绘制的任何内容都将在下一个绘制周期中被删除。在 Swing 中,您无法控制绘制过程,并且绘制周期可能会因多种原因而启动,其中许多原因您无法控制或会收到通知(除了调用绘制时)

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

看看Painting in AWT and SwingPerforming Custom Painting有关 Swing 中绘画工作原理的更多详细信息

关于Java-获取图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28015214/

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