Проблема компиляции таймера - PullRequest
0 голосов
/ 12 марта 2012

Я пытаюсь запустить небольшой пример, который я нашел здесь http://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html. Тем не менее, я получаю Type mismatch: cannot convert from void to Timer в строке timer = new Timer ...... Я надеялся, что кто-нибудь сможет мне помочь.

  int delay = 1000; //milliseconds
  ActionListener taskPerformer = new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
          //...Perform a task...
      }
  };
  new Timer(delay, taskPerformer).start();

Спасибо

мой код;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.Timer;


public class MyTimerTest 
{
    private JFrame frame = new JFrame();
    Container contentPane = frame.getContentPane();
    Timer timer;
    int delay = 1000; //a second

    public MyTimerTest()
    {
    }


    public void runTimer()
    {
        ActionListener taskPerformer = new ActionListener() 
        {
            @Override
            public void actionPerformed(ActionEvent arg0) {

            }     
        };

        timer = new Timer(delay, taskPerformer).start();
    }
    /**
     * @param args
     */
    public static void main(String[] args) 
    {

    }

}

Ответы [ 2 ]

3 голосов
/ 12 марта 2012

Ваш код не содержит строку timer = ....Я полагаю, вы пытались написать:

Timer timer = new Timer(delay, taskPerformer).start();

Это не может быть скомпилировано, поскольку метод start() недействителен.

Просто разделите эту строку на 2:

Timer timer = new Timer(delay, taskPerformer);
timer.start();

РЕДАКТИРОВАТЬ, о, мое предположение правильно.Я просто не видел вторую строку, где вы используете таймер во втором фрагменте вашего кода.

0 голосов
/ 29 октября 2013

Добавить таймер качания

import javax.swing.Timer

    public void runTimer()
    {
        ActionListener taskPerformer = new ActionListener() 
        {
            @Override
            public void actionPerformed(ActionEvent arg0) {

            }     
        };

        timer = new Timer(1000, taskPerformer).start();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...