我正在尝试创建一个计时器,从我可以收集它涉及使用一个没有附加到任何jbutton等的actionlistener,问题是,我不明白如何做到这一点。关于计时器的java文档说:
package testing;
import java.awt.event.ActionListener;
public class timer{
int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//...Perform a task...
}
}; //line with the error
new Timer(delay, taskPerformer).start();
}
,但无论什么时候我都说它出现语法错误:<预计......有人可以向我解释我做错了什么,以及如何解决? - 一个java noob
编辑:完整的错误消息为Syntax error on token ";", < expected
答案 0 :(得分:2)
您似乎在不属于的构造函数或方法之外有代码new Timer(delay, taskPerformer).start();
。目前,它在班级中悬空,在一个只允许变量声明的位置。将该代码放在构造函数中。还要重命名您的类,使其以大写字母开头,因此将遵循Java命名约定:
import java.awt.event.ActionListener;
// rename class to begin with an uppercase letter
public class MyTimer{
int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//...Perform a task...
}
};
public MyTimer() {
// the code below is now happily placed inside of your class's constructor.
new Timer(delay, taskPerformer).start();
}
}