我最近制作了这个程序来计算经过的秒数,但不幸的是,没有显示打印语句。我的问题在这里是什么?
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
class MizohSoftware extends JFrame {
private class TimerListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
int time = 0;
int inc = 1;
time += inc;
System.out.println(time + "seconds has passed");
}
}
public void starttimer() {
int delay = 1000;
Timer display = new Timer(delay, new TimerListener());
display.start();
}
public static void main(String[] args) {
MizohSoftware MizohSoftware = new MizohSoftware();
MizohSoftware.starttimer();
}
}
答案 0 :(得分:1)
您的计划在计时器事件有机会开始之前结束。
例如,将以下内容添加到main
:
public static void main(String[] args) {
MizohSoftware MizohSoftware = new MizohSoftware();
MizohSoftware.starttimer();
Thread.sleep(5000);
}
这可能不是你想要的行为;您需要阅读有关Java Swing事件循环等的工作原理的更多信息。