import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.util.*;
import javax.swing.Timer.*;
class Timer {
public static void main(String[] args) {
JFrame frame = new JFrame();
final int FIELD_WIDTH = 20;
final JTextField textField = new JTextField(FIELD_WIDTH);
frame.setLayout(new FlowLayout());
frame.add(textField);
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent event) {
Date now = new Date();
textField.setText(now.toString());
}
};
final int DELAY = 1000;
Timer t = new Timer();
t.start();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
这可能是一个语法错误,但我不这么认为,因为我直接从一本书中复制了这个程序.代码行't.start();' 在它下面有一个错误行,说start()方法是未定义的.起初,我认为start()方法不存在,但我在库中查找了它.
问题是你要声明自己的 Timer类 - 所以Timer t = new Timer()指的是你的类而不是javax.swing.Timer,并且你没有声明一个start方法.我很确定你想要使用这个javax.swing.Timer类.因此,您要删除该import javax.swing.Timer.*;行,并将您的Timer类重命名为其他内容.
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.util.*;
public class TimerTest {
...
}
Run Code Online (Sandbox Code Playgroud)
话虽如此,你并没有告诉你的计时器做任何事情......
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |