定时器实现错误

时间:2015-04-22 16:35:21

标签: java timer

我有计时器错误,我不知道错误在代码中的位置。

ERROR:

  

线程“main”中的异常java.lang.Error:未解决的编译问题:       构造函数Timer(int,Player)未定义       方法start()未定义类型Timer

     

在玩家。(Player.java:12)

     

在Game.main(Game.java:11)​​

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
import java.util.Timer;

import javax.swing.*;


public class Player extends JPanel implements ActionListener{
Timer t = new Timer(5, this); // Error (LINE 12)
double x = 0; double velX = 2;
double y = 0; double velY = 2;

public void paintComponent(Graphics g){
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D) g;
    Ellipse2D circle = new Ellipse2D.Double(x,y,40,40);
    g2.fill(circle);
    t.start(); // error
}

public void actionPerformed(ActionEvent e){
    x += velX;
    y += velY;
    repaint();
  }
}

3 个答案:

答案 0 :(得分:1)

您已导入java.util.Timer。也许你的意思是javax.swing.Timer

您可以谷歌获取更多信息,但here可以很好地解释两者之间的区别。

答案 1 :(得分:0)

替换

import java.util.Timer;

import javax.swing.Timer;
祝你好运。

答案 2 :(得分:0)

java.util.Timer类没有这样的构造函数,也没有这样的方法。

确保在类标题上方的导入声明中导入正确的类。您可以指java.swing.Timer

如果是这样,java.swing.Timer将无法导入java.swing.*,因为您已经导入了同名的类java.util.Timer)。删除java.util.Timer导入,它应该都可以。

来源:http://www.tutorialspoint.com/java/util/java_util_timer.htm