자바 스윙 - 3

Chooooo·2023년 1월 20일
0

자바 스윙

목록 보기
3/4
post-thumbnail

자바 스윙 복습 세번째 !


마우스 이벤트와 마우스 관련 리스너 키 리스너

자바 스윙 세번째 image

자바 스윙 세번째 image

마우스 리스너와 마우스 모션 리스너를 따로 등록해야한다.

‏‏‎ ‎

  • 마우스 이벤트(MouseEvent를 통해서 얻을 수 있는 )

int getButton() // 마우스 눌려진 버튼 가져오기

int getClickCount() // 마우스 클릭 횟수 가져오기

Point getPoint() // 마우스 포인터의 위치를 Point 객체로 리턴

int getX() // 마우스 X좌표

int getY() // 마우스 Y좌표

‏‏‎ ‎

  • 추가적으로 MouseWheelEvent와 MouseWheelListener도 있다.

‏‏‎ ‎

Mouse 리스너와 MouseMotion 리스너를 모두 가진 리스너를 구현하면 될듯??

MouseListener를 구현하면 5개의 함수 사용 가능, MouseMotionListener를 구현하면 3개의 함수 구현가능

‏‏‎ ‎



‏‏‎ ‎

키 이벤트와 포커스

자바 스윙 세번째 image

키 이벤트를 받을 수 있는 조건에 주목! - 포커스를 줘야지 키 이벤트를 받을 수 있다!!! (패널)

setFocusable(true), requestFocus() 를 꼭 입력하는 걸로 하자!

자바 스윙 세번째 image

마우스로 컴포넌트 클릭할 때 포커스 지정 부분...

클릭 시에 setFocusable(true), requestFocus() 두 줄을 입력해서 포커스 가게끔 지정하면 됨

컴포넌트에 키 이벤트 리스너 등록할 때는

component.addKeyListener(myKeyListener); 이런 식으로 해도 되고

그냥 마우스 처럼 패널에 직접 마우스 리스너 구현해도 됨. 직접 구현이 더 객관적일듯.

implements MouseListener, KeyLisener 이렇게.

자바 스윙 세번째 image

getKeyCode()를 통해서 가상 키 값 알아낼 수 있음!

  • KeyEvent 객체

키가 입력되면 입력된 키 정보를 가진 이벤트 객체 생성 : keyEvent객체

  1. Unicode 키의 문자 값 판별 char KeyEvent.getKeyChar()
  • 눌러진 키가 유니코드 문자 키인 경우 해당 문자 값 리턴 함. (즉 w를 입력하면 w로 반환해줌)
  1. Unicode 문자 뿐 아니라 모든 키 판별 : int keyEvent.getCode()
  • 모든 키에 대한 눌러진 키에 대한 정수형 키 코드값 리턴함

  • 입력된 키를 판별하기 위해 가상키(virtual key)값과 비교하여야 함.

  • 가상 키 값은 KeyEvent 2123상수로 정의됨

  1. 키 이름 문자열 리턴 : String KeyEvent.getKeyText(int KeyCode)
  • static 메소드로 키 코드 값에 해당하는 키 이름 문자열 리턴

  • F1 키의 경우 F1 Shift키의 경우SHFIT 등의 문자열 리턴.

자바 스윙 세번째 image

마우스나 키보드는 패널 자체가 리스너를 구현하는게 직관적이고 보통 그렇게 해

‏‏‎ ‎

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글