Java Graphics2D抽绳

Java Graphics2D抽绳,java,swing,awt,graphics2d,drawstring,Java,Swing,Awt,Graphics2d,Drawstring,嘿,伙计们,我有个小问题。我有一个面板,我正在画一根线。这是一个游戏,所以我一直在重新绘制分数以更新它。然而,当我再次画它时,它是在先前的分数之上画的,所以它看起来都是乱七八糟的。有没有办法解决这个问题 comp2d.拉丝(GetScore(Score)、ScoreX、ScoreY) 您可以尝试在comp2d.drawString()之后使用repaint()。您可以尝试在comp2d.drawString()之后使用repaint()。您需要在绘制字符串之前重新绘制背景。如果这是一个普通面板,

嘿,伙计们,我有个小问题。我有一个面板,我正在画一根线。这是一个游戏,所以我一直在重新绘制分数以更新它。然而,当我再次画它时,它是在先前的分数之上画的,所以它看起来都是乱七八糟的。有没有办法解决这个问题


comp2d.拉丝(GetScore(Score)、ScoreX、ScoreY)

您可以尝试在comp2d.drawString()之后使用repaint()。

您可以尝试在comp2d.drawString()之后使用repaint()。

您需要在绘制字符串之前重新绘制背景。如果这是一个普通面板,您可以在自己的
paintComponent
中调用
super.paintComponent(g)
来重新绘制背景;然而,由于这是一个游戏,我想你需要画一些其他的背景。另外,如果可能的话,我建议您使用a,而不是使用
drawString
命令。

在绘制字符串之前,您需要重新绘制背景。如果这是一个普通面板,您可以在自己的
paintComponent
中调用
super.paintComponent(g)
来重新绘制背景;然而,由于这是一个游戏,我想你需要画一些其他的背景。此外,如果可能的话,我建议您使用,而不是使用
drawString
命令。

当您调用此命令时:
comp2d.drawing字符串(GetScore(Score)、ScoreX、ScoreY)

你应该称之为:
comp2d.dispose()

因为调用此comand时,COM2D的所有操作都将在
.dispose()

之后应用:
comp2d.drawing字符串(GetScore(Score)、ScoreX、ScoreY)

你应该称之为:
comp2d.dispose()


因为comp2d的所有操作都将在
.dispose()

之后应用。听起来重画过程中没有清除面板的背景。如果您能提供一些关于如何重新绘制的详细信息(代码),这将有助于找出问题所在。听起来您的面板背景在重新绘制过程中没有被清除。如果你能提供更多关于如何重新绘制的细节(代码),这将有助于找出问题所在。+1,我不知道为什么人们一直试图在面板上绘制字符串和图像等自定义绘制,而你只能使用JLabel。使用适当的布局管理器,您不必担心所有这些小的绘画细节。是的,我尝试了一个JLabel,但由于某种原因,当我添加它时,其他所有内容都消失+1,我不知道为什么人们一直尝试在可以使用JLabel的情况下在面板上绘制字符串和图像等自定义绘画。使用合适的布局管理器,您不必担心所有这些小的绘画细节。是的,我尝试了一个JLabel,但由于某种原因,当我添加它时,其他所有内容都从审阅队列中消失了:我可以请您在您的答案周围添加一些上下文吗。只有代码的答案很难理解。如果你能在你的帖子中添加更多信息,这将有助于提问者和未来的读者。从评论队列:我可以请你在你的答案周围添加更多的上下文吗。只有代码的答案很难理解。如果你能在你的文章中添加更多的信息,这将有助于询问者和未来的读者。这解决了我的问题。有时,我的新字符串会在旧字符串的基础上绘制,但在drawString()之后删除repaint()后就不会了。这解决了我的问题。有时,我的新字符串会在旧字符串的基础上绘制,但在drawString()之后删除repaint()后不会绘制。