我需要一些repaint()函数的帮助。当我运行该程序时,它会产生图像闪烁效果。怎么了?
public class Game extends JFrame {
private static final long serialVersionUID = 1L;
public Game() {
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(Toolkit.getDefaultToolkit().getImage("Images/bg.jpg"),0,0,this);
g.drawImage(Toolkit.getDefaultToolkit().getImage("Images/player.png"),0,448,this);
repaint();
}
public static void main(String[] args) {
Game langas = new Game();
langas.setSize(900,550);
langas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
langas.setTitle("Best Game EVER! LOL");
langas.setVisible(true);
langas.setLocationRelativeTo(null);
langas.setResizable(false);
}
}
抱歉我的英语不好,如果我的代码看起来很愚蠢,我很抱歉,我是初学者。
答案 0 :(得分:2)
你写了一个无休止的递归,因为:
repaint
调用paint
,调用repaint
,调用paint
,...
你陷入了重复循环,因此图像闪烁。