将Swing Timer的Action Listener中的System.currentTimeMillis()分配回未初始化的long变量

时间:2013-01-05 01:27:43

标签: java swing variables timer actionlistener

我目前正在玩一个服务器和客户端。我希望我的服务器每秒轮询当前的系统时间。我目前正在使用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();
}

}

1 个答案:

答案 0 :(得分:2)

你可以让time成为班级的一个领域。 (事实上​​,没有把它放在主要的位置!

或者你可以final AtomicLong time = new AtomicLong();