2015-04-22 3 views
1

У меня есть ошибка с таймером, и я не знаю, где ошибка находится в коде.Ошибка выполнения таймера

ОШИБКА:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: The constructor Timer(int, Player) is undefined The method start() is undefined for the type Timer

at Player.(Player.java:12)

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

ответ

1

Вы импортировали java.util.Timer. Может быть, вы имели в виду javax.swing.Timer?

Вы можете использовать Google для получения дополнительной информации, но here - довольно хорошее объяснение различия между ними.

0

Заменить

import java.util.Timer; 

с

import javax.swing.Timer; 

Удачи.

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