在主类中使用计时器

时间:2013-02-22 11:35:50

标签: java timer main

我创建一个以登录公式开头的程序。我希望让整个程序停止并在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()" 。错误说:"在static()中更改timer()的修饰符。 有没有理由发生这种情况?

3 个答案:

答案 0 :(得分:2)

timer是一个实例变量,因此只能通过MainClass的实例访问它。您需要先创建一个实例:

MainClass mainClass = new MainClass();
mainClass.timer.start();

答案 1 :(得分:2)

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

你也可以这样做:

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

private void begin() {
    timer.start();
    new JLogin();
}

答案 2 :(得分:0)

静态方法(main)不能有实例变量(timer)