我目前正在玩一个服务器和客户端。我希望我的服务器每秒轮询当前的系统时间。我目前正在使用Swing计时器将currentTimeMillis()分配回计时器的Action Listener外部的未初始化的long。目前,当我尝试这样做时,Eclipse要求我给出很长时间的最终状态,但由于这需要轮询和更改,这是不可行的。接下来的想法就是告诉这个长时间通过套接字发送给客户端。如何使用我当前的代码?或者,如果有更好的方法,我该怎么办?非常感谢你的帮助!
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.*;
import javax.swing.Timer;
public class Server {
public static void main(String[] args) {
long time;
ActionListener listener = new ActionListener(){
public void actionPerformed(ActionEvent event){
time = System.currentTimeMillis();
}
};
Timer currentTime = new Timer(1000, listener);
currentTime.start();
}
}
答案 0 :(得分:2)
你可以让time
成为班级的一个领域。 (事实上,没有把它放在主要的位置!
或者你可以final AtomicLong time = new AtomicLong();
。