我目前正在研究服务器和客户端。我希望我的服务器每秒轮询当前系统时间。我目前正在使用 Swing 计时器将 currentTimeMillis() 分配回计时器的 Action 监听器之外的未初始化的 long 。目前,当我尝试执行此操作时,Eclipse 要求我给出长时间的最终状态,但由于这需要轮询和更改,所以这是不可行的。这个想法是,这个 long 将被告知通过套接字发送到客户端。我怎样才能让它与我当前的代码一起工作?或者如果有更好的方法可以做到这一点,我该怎么做?非常感谢您的帮助!
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
设为该类的一个字段。 (事实上,将它放在 main 中是没有意义的!
或者你可以设置final AtomicLong time = new AtomicLong();
。
关于java - 将 Swing 计时器的操作监听器中的 System.currentTimeMillis() 分配回未初始化的 long 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14167564/