我有计时器错误,我不知道错误在代码中的位置。
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();
}
}
答案 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