2009-03-22 5 views
0

버튼을 클릭 한 후 현재 시간을 기준으로 타이머를 재설정하려고했지만 작동하지 않습니다.타이머 재설정

private long startTime = System.currentTimeMillis(); 
Timer timer = new Timer(1000, this); 
timer.start(); 

timer.stop(); 
long endTime = System.currentTimeMillis(); 
long timeInMilliseconds = (endTime - startTime); 

timer.reset(); 
+0

을 당신은 Timer.reset이 무엇을 기대합니까 , 그리고 그것은 무엇을하고 있습니까? –

+0

질문을 정교하게 작성하고 코드 스 니펫에 주석을 달아야합니다. 여러 부분이 실행될 때 –

+0

사실 저는 최신 시스템 타이머에 따라 시간을 재설정해야합니다.하지만 지금은 해결책이 있습니다. startTime = System.currentTimeMillis(); 다시 버튼 actionListener 메소드에서. – Jessy

답변

1

내 프로그램. 감사 모두를위한 솔루션을 좋은 잘못 될 수.

public class mainClass { 
     private long startTime = System.currentTimeMillis(); 
     Timer timer = new Timer(1000, this); 
     ..... 
    } 

    public mainClass { 
     timer.start(); 
    } 

    //Everytime the button stop clicked, the time will stop and reset to the most current time of the system 
    public actionPerformed() { 
     timer.stop(); 
     long endTime = System.currentTimeMillis(); 
     long timeInMilliseconds = (endTime - startTime); 

     **startTime = System.currentTimeMillis();** ACCEPTED 
    } 
+1

나중에 참조 할 수 있도록 모든 Java 클래스 ("mainClass")는 대문자로 시작해야하며 클래스 이름에 "class"라는 단어를 사용하지 않아야합니다. – basszero

+0

제안 해 주셔서 감사합니다. – Jessy

4

내 마법의 크리스탈 볼 당신이 javax.swing.Timer를 사용하고, 그것은 다시 시작()가 호출 더 reset() 메소드가 없다는 것을하고 있다고 말했습니다 :-(.

도움말 그러나 그것은 수 당신은 당신이 무엇을하고 있는지에 대해 좀 더 명시 적다면, 그것은 ...

+0

실제로 필요한 것은 타이머를 현재 시스템 시간으로 다시 시작하는 것입니다. 하지만 이제 해결되었습니다. 단지 startTime = System.currentTimeMillis()를 메인 클래스가 아닌 ActionListener에 다시 배치하면됩니다. – Jessy