0

大家好,我这里有个小问题。我有一个面板,我正在画一个字符串。这是一个游戏,所以我一直在重新绘制分数以更新它。然而,当我再次绘制它时,它被绘制在之前的分数之上,所以它看起来都是乱码。任何想法如何解决这一问题?

comp2d.drawString(GetScore(Score),ScoreX,ScoreY);

4

3 回答 3

5

在绘制字符串之前,您需要重绘背景。如果这是一个普通的面板,你可以通过调用super.paintComponent(g) 自己的来重绘背景paintComponent;但是,由于这是一款游戏,我猜你还有其他需要绘制的背景。另外,如果可能的话,我建议您使用JLabel来代替使用drawString命令。

于 2010-04-12T02:05:42.043 回答
1

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

于 2010-04-12T01:09:44.707 回答
0

当你调用这个命令时: comp2d.drawString(GetScore(Score),ScoreX,ScoreY);

你应该这样称呼: comp2d.dispose()

因为所有与 comp2d 的操作都将在之后应用 .dispose()

于 2017-05-13T07:41:42.650 回答