2012-08-09 2 views
2

나는 꽤 큰 스윙 응용 프로그램을 가지고 있으며, 시간 제한 기능을 추가해야합니다. 기본적으로 사용자가 일정 시간 동안 응용 프로그램과 상호 작용하지 않은 경우, 응용 프로그램은 특정 조치 (예 : 종료)를 취해야합니다.사용자가 시작한 이벤트의 마지막 시간

이 응용 프로그램이 이미 작성 되었기 때문에 모든 mouselistener/keyboard listener/모든 종류의 입력 수신기가 사용자를 마지막으로 저장 한 특정 클래스/인터페이스를 확장/구현하도록하는 것은 극복 할 수없는 작업입니다 이니셜 이벤트가 발생했습니다.

스윙은 이미이 같은 뭔가를 내장 utlity의 어떤 종류가 있나요? 모든 마우스/키보드 청취자를 변경하는이 기능의 짧은을 구현하는 좋은 방법이 있을까요?

+0

지금까지 무엇을 연구했다? –

+0

나는의 AWTEvent과은 EventObject에서 유용한 필드 보았지만 아무 것도 보이지 않았다. 나는 또한 약간의 인터넷 검색을했지만 아무 것도 찾을 수 없었다. – LazyCubicleMonkey

+0

이벤트 대기열에서 getMostRecentEventTimeEx()를 보았지만 이벤트를 다시 그리는 데 (사용자가 시작하지 않음) 적용 할 수 있으며 메서드는 package-private입니다. – LazyCubicleMonkey

답변

6
// the event mask; adjust as desired 
long eventMask = 
    AWTEvent.KEY_EVENT_MASK | 
    AWTEvent.MOUSE_EVENT_MASK | 
    AWTEvent.MOUSE_MOTION_EVENT_MASK | 
    AWTEvent.INPUT_METHOD_EVENT_MASK; 

// install a listener for receiving global events 
Toolkit.getDefaultToolkit().addAWTEventListener(yourListenerInstance, eventMask); 
+0

정확히 내가 필요한 것. 감사. 나는 위의 나의 의견 바른 길에,하지만 모든 적절한 이벤트 마스크도 도움이되었다. – LazyCubicleMonkey

관련 문제