Im正在创建一个以登录公式开头的程序。我想让整个程序停止,并在5小时后再次显示此登录公式。要做到这一点,我使用定时器。
public class MainClass implements ActionListener{
private final Timer timer = new Timer(30000, this);
public static void main(String args[]){
timer.start();
new JLogin();
}
//If time time-out
public void actionPerformed(ActionEvent e) {
timer.stop();
new Mainclass();
}
当我写这篇文章时,它显示了我调用"timer.start()"时的错误。错误显示:"更改static()中timer()的修饰符。"。发生这种事的原因是什么?
timer
是一个实例变量,因此只能通过MainClass
的实例访问。您需要首先创建一个实例:
MainClass mainClass = new MainClass();
mainClass.timer.start();
使用new MainClass().timer.start()
你也可以这样做:
public static void main(String args[]) {
new MainClass().begin();
}
private void begin() {
timer.start();
new JLogin();
}
静态方法(main)不能有实例变量(计时器)