2012-02-24 4 views
0

일단 타이머를 실행하면 얼마나 오랜 시간이 경과했는지 되돌리려면 어떻게해야합니까? 이 타이머를 표시 할 수 있습니까?타이머를 반환하는 방법 java

+0

* "이 타이머를 표시 할 수 있습니까?"* ... 처음에 어떻게 보이지 않게 설정 했습니까? 그게 무슨 뜻 이죠? –

+0

나는 타이머 오브젝트가 내가 볼 수있는 jframe과 다르다는 것을 의미했다. 아래의 첫 번째 대답 (두 번째 단락)이 나를 위해 대답했습니다. – Maydayfluffy

답변

3

Timer 생성자에 두 번째 인수로 전달하는 객체는 ActionListener를 구현합니다. 이 인터페이스를 통해 타이머의 각 알람에 대해 actionPerformed 메서드에 대한 호출을받습니다. actionPerformed 메소드에는, getWhen 메소드가 타임 스탬프를주는 ActionEvent 파라미터가 있습니다. ActionListener가 경과 시간을 계산하게하려면 원본 타임 스탬프를 어딘가에 저장해야합니다.

스윙 타이머는 자체 그래픽 표현이없는 메커니즘입니다. 원하는 경우 ActionListener는 타이머의 그래픽 표현을 구현할 수 있습니다. JPanel과 같은 그래픽 구성 요소 일 수 있으며 actionPerformed 메서드를 사용하면 타이머가 꺼질 때마다 무언가를 그려 시각적으로 반응 할 수 있습니다.

+0

만약 내가 timer.start();라고 말하면, 타이머가 시작된 장면 뒤에 있습니까? 또한이 타임 스탬프를 어떻게 다른 위치에 저장할 수 있을까요? – Maydayfluffy

+0

이러한 타임 스탬프를 저장하는 가장 이상적인 장소는 무엇입니까? 그렇게 많이있을 것입니다 ... 내가 생각할 수있는 전부는 jtextarea와 같은 것입니다. – Maydayfluffy

+1

이전 작업이 수행 된 이후의 시간 만 알고 싶을 수 있습니다. 일반적으로 요청한 시간과 비슷합니다. 자세한 내용은 을 참조하십시오. 이전 actionPerformed 이후 실제 경과 시간을 알고 싶다면 ActionListener 객체는 이전 actionPerformed의 타임 스탬프를 저장하는 단일 필드 만 가질 수 있습니다. – minopret

관련 문제