actionlistener没有附加到jbutton?

时间:2013-09-24 00:18:32

标签: java swing actionlistener

我正在尝试创建一个计时器,从我可以收集它涉及使用一个没有附加到任何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

1 个答案:

答案 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(); 
 }

}