0

我正在创建一个以登录公式开头的程序。我想让整个程序停止并在 5 小时后再次显示此登录公式。为此,我使用 Timer。

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()”时显示错误。错误说:“在静态()中更改定时器()的修饰符。发生这种情况的任何原因?

4

3 回答 3

2

timer是一个实例变量,因此只能通过MainClass. 您需要先创建一个实例:

MainClass mainClass = new MainClass();
mainClass.timer.start();
于 2013-02-22T11:38:24.697 回答
2

采用new MainClass().timer.start()

你也可以这样做:

public static void main(String args[]) {
    new MainClass().begin();
}

private void begin() {
    timer.start();
    new JLogin();
}
于 2013-02-22T11:39:50.180 回答
0

静态方法(main)不能有实例变量(定时器)

于 2013-02-22T11:42:20.640 回答