2013-02-22 2 views
0

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()». Ошибка говорит: «Изменение Модификатор таймера() в статическом() Любая причина Происходило это

ответ

2

timer является переменной экземпляра, поэтому она может быть доступна только через экземпляр MainClass Вам нужно создать.?. экземпляр первого:

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

Использование new MainClass().timer.start()

Вы также можете сделать это:

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

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

Спасибо, его работа. –

0

статический метод (main) не может иметь переменные экземпляра (таймер)

Смежные вопросы