将Swing Timer的Action Listener中的System.currentTimeMillis()指定回未初始化的长变量
问题描述:
我目前正在玩弄服务器和客户端。我希望我的服务器每秒轮询当前系统时间。我目前使用Swing定时器将currentTimeMillis()分配回计时器的Action Listener之外的未初始化的long。目前,当我尝试这样做时,Eclipse会让我花费很长时间才能获得最终状态,但由于这需要投票和更改,所以这是不可行的。这个想法是,这个长期将被告知通过套接字发送到客户端。我如何使用当前的代码来处理这个问题?或者如果有更好的方法来做到这一点,我该怎么做?非常感谢您的帮助!将Swing Timer的Action Listener中的System.currentTimeMillis()指定回未初始化的长变量
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();
}
}
答
你可以做time
类的领域。 (其实是没有SENCE将其放置在主!
或者你可以让final AtomicLong time = new AtomicLong();
。
谢谢,我觉得我得到了我的问题来分类的。这是我在那里放置了!愚蠢的错误! – tgmars