[SWT/JFace]1개 버튼에 2개 리스너 등록하기

자바/SWT / JFace | 2009.05.05 15:02 | Posted by imesu-문경원

아래 예제는 한개의 버튼에 대해서 두개의 리스너를 등록한 방법에 대한 예제이다.

아래 그림 "예" 버튼에 두개의 리스너를 등록했다.
첫번째, 마우스가 움직임에 대한 리스너(MouseTrackListener)
두번째, 버튼을 눌려 선택에 대한 리스너(SelectionListener)

버튼(컨트롤) 에 이벤트 리스너를 등록하는 방법은 아주 간단하다.

내가 사용고자 하는 컨트롤에 addXXXListener() 가 있으면 된다.
아래 소스의 경우, 내가 사용하고자 하는 버튼에 리스너
addMouseTrackListener ,
addSelectionListener
를 추가했다.







1. 실행 결과 


1) "예", "아니오" 버튼이 나온다.



2) 마우스를 "예" 버튼에 옮기면 MouseTrackListener 의 매소드 mouseEnter() 가 호출된다.


3) 마우스를 "예" 버튼에 계속 있음면  MouseTrackListener 의 매소드 mouseHover() 가 호출된다.


4) 마우스를 "예" 버튼에서 빠져 나오면   MouseTrackListener 의 매소드 mouseExit() 가 호출된다.



2. 전체 소스 보기