嘿伙计们,我这里有一点问题。我有一个面板,我正在绘制一个字符串。这是一个游戏,所以我不断重绘分数,以便更新它。然而,当我再次绘制它时,它被绘制在上一个分数的顶部,所以它看起来都是乱码。任何想法如何解决这个问题?
comp2d.drawString(GetScore(分数),ScoreX,ScoreY);
答案 0 :(得分:5)
在绘制字符串之前,您需要重绘背景。如果这是普通的面板,您可以通过调用super.paintComponent(g)
中的paintComponent
来重新绘制背景。但是,由于这是一款游戏,我猜你还有其他需要绘制的背景。另外,如果可能的话,我建议您使用JLabel代替使用drawString
命令。
答案 1 :(得分:1)
您可以尝试在comp2d.drawString()之后使用repaint()。
答案 2 :(得分:0)
当你打电话给这个命令时:
comp2d.drawString(GetScore(Score),ScoreX,ScoreY);
你应该这样称呼:
comp2d.dispose()
因为所有使用comp2d的操作都将在.dispose()