티스토리 뷰
마우스 커서 모양 변경하기
이번시간에는 Button이나 어떤 컨트롤에 마우스 커서를 갖다댔을 때 마우스의 모양을 변경하는 방법에 대해서 알아보도록 하겠습니다.
일단 마우스 커서의 모양자체를 변경하는 코드는 아래와 같습니다.
1 2 | Button button = new Button(); button.setCursor(Cursor.HAND); | cs |
간단하죠? 이제 이 작업을 이벤트가 발생했을 때 수행하는 코드는 아래와 같습니다.
1 2 3 4 5 6 | button.addEventHandler(MouseEvent.MOUSE_ENTERED, new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { button.setCursor(Cursor.HAND); } }); | cs |
이것 역시도 간단합니다. 그런데 만약에 이런 버튼이 많아지면 어떡할까요?
그럴때는 이벤트 핸들러 클래스를 별도로 만들어주면 됩니다. 아래와 같이 말이죠.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class MyButtonEventHandler implements EventHandler<MouseEvent> { @Override public void handle( final MouseEvent ME ) { Object obj = ME.getSource(); /** * 모든 버튼을 포함하는 상위 클래스인 ButtonBase를 사용 */ ButtonBase button = (ButtonBase) obj; button.setCursor(Cursor.HAND); } } | cs |
MouseEvent의 getSource 메소드를 통해서 이벤트가 발생한 해당 객체를 가져올수 있습니다.
그리곤 Button의 상위 클래스인 ButtonBase로 형변환을 한 뒤 모양을 변경하는 코드를 적용했습니다.
실제 Button에 핸들러를 다는 방법은 아래와 같습니다.
1 | button.addEventHandler(MouseEvent.MOUSE_ENTERED, new MyButtonEventHandler()); | cs |
간단하죠?
반응형
'프로그래밍 > JavaFX' 카테고리의 다른 글
[JavaFX] FXML Loader를 이용해서 커스텀 컨트롤 UI 구현하기 (0) | 2017.02.15 |
---|---|
[JavaFX] resources 폴더의 CSS 파일 적용하기 (0) | 2017.02.14 |
[JavaFX] TabPane을 이용한 TextViewer 만들기 (0) | 2017.02.08 |
[JavaFX] FileChooser를 이용해 txt 파일 저장하기 (0) | 2017.02.07 |
[JavaFX] File Chooser를 이용해 txt 파일 불러와 출력하기 (3) | 2017.02.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 일본 자전거 여행
- git
- 일본 여행
- springboot
- 자전거
- effectivejava
- JavaFX 테이블뷰
- 인텔리제이
- 이펙티브
- 텐트
- JavaFX Window Close
- 이펙티브 자바
- 스프링부트
- JavaFX Table View
- 일본 배낭여행
- 배낭 여행
- 자바
- JavaFX
- intelij
- JavaFX 종료
- 이펙티브자바
- 자전거 여행
- 배낭여행
- java
- windows
- 일본여행
- 방통대 과제물
- effective java
- TableView
- Java UI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함