1

私はタイマーを作成しようとしていますが、私が収集できるものから、jbuttonなどにアタッチされていないアクションリスナーを使用する必要があります。問題は、これを行う方法がわかりません。タイマーに関する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初心者

編集:完全なエラーメッセージはSyntax error on token ";", < expected

4

1 に答える 1

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

}
于 2013-09-24T00:30:22.477 に答える