我正在观看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)时;我得到一个错误,说它不明。
感谢。
答案 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());