构造函数Timer(int,ClockC.Listener)未定义

时间:2015-11-01 21:26:51

标签: java swing timer

我正在观看youtube上的教程,这里是我到目前为止的代码,

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.management.timer.Timer;
import javax.sound.sampled.LineEvent;
import javax.sound.sampled.LineListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class ClockC extends JFrame{
private static final long serialVersionUID = 1L;
JTextField time;
JPanel p1;
public ClockC() {
    setSize(500, 500);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    setResizable(true);
    setLocationRelativeTo(null);

    p1 = new JPanel();
    p1.setLayout(new FlowLayout());

    time = new JTextField(10);
    time.setEditable(false);
    time.setFont(new Font("Arial", Font.PLAIN, 48));

    p1.add(time);

    add(p1);

    Timer t = new Timer(1000, new Listener);
    t.start();

}
class Listener implements ActionListener{
    public void actionPerformed(ActionEvent e) {

    }
}
}

问题是当我到达Timer t = new Timer(1000,new Listener)时;我得到一个错误,说它不明。

感谢。

2 个答案:

答案 0 :(得分:1)

更改行

Timer t = new Timer(1000, new Listener);

Listener listener = new Listener();
Timer t = new Timer(1000, listener);

 Timer t = new Timer(1000, new Listener());

您没有定义对Listener的构造函数的调用。

答案 1 :(得分:1)

您输入了错误的Timer,Java(至少)有三个不同的Timer

import javax.management.timer.Timer;更改为import javax.swing.Timer

然后将Timer t = new Timer(1000, new Listener);更改为Timer t = new Timer(1000, new Listener());