在主类中使用计时器



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)不能有实例变量(计时器)

相关内容

  • 没有找到相关文章

最新更新