자바 Event 핸들러
* Event - 행위에 대한 결과
ex) 1. 어떤 버튼을 눌렸을 때 경고 메세지가 나타나는 행위
2. 프레임의 X버튼을 눌렸을 때 프레임이 종료되는 일련의 행위
1) AWT와 같은 사용자 인터페이스에서는 event가 없으면 완벽한 프로그램이 될 수 없다. (event 처리를 하지 않으면 프레임을 닫을 수 없다.)
2) (java.awt.event.*)를 import해야 Event 처리를 할 수 있다. (꼭 별도로 선언해야한다.)
* Event는 크게 세 가지 클래스로 나뉘어져 있다.
- Listener interface
- Adapter class
- Event class
** Listener interface 와 Adapter class의 차이점
- Listener interface -> 다중 상속
- Adapter class -> 단일 상속, 필요없는 메소드 재정의 필요 X
** Event class
- Listener나 Adapter 클래스 내부의 멤버 메소드의 매개변수로 사용되며 실제 작업이 처리되는 부분 담당
* Event 핸들러 - 이벤트가 발생되면 발생된 이벤트를 catch하고 처리하는 것
** Event 핸들러
1. ActionListener -> ActionEvent
2. FocusListener & FocusAdapter -> FocusEvent
3. ItemListener -> ItemEvent
4. KeyListener & KeyAdapter -> KeyEvent
5. MouseListener & MouseAdapter -> MouseEvent
6. MouseMotionListener & MouseMotionAdapter -> MouseEvent
7. WindowListener & WindowAdapter -> WindowEvent
** Event 수행 시점
1. Action : 마우스 클릭이나 키보드의 엔터 키를 누르거나 메뉴에서 아이템을 선택했을 때
2. Focus : 커서의 위치가 바뀌면서 특정 객체가 커서를 얻거나 잃을 때
3. Key : 키보드를 눌렀을 때
4. Mouse : 마우스의 버튼을 누르고 있거나 뗐을 때, 혹은 클릭(눌렀다 뗌)했을 때, 마우스가 특정 객체의 내부에 들어갔을 때나 특정 객체에서 빠져나왔을 때
5. MouseMotion : 마우스가 움직이거나 마우스를 드래그했을 때
6. Item : List나 Choice 등과 같이 아이템을 가지는 객체의 선택된 아이템에 변화가 있을 때
7. Window : 다이얼로그나 프레임 등과 같이 열기, 닫기, 활성, 비활성, 최소화 등 해당 움직임에 대한 응답이 필요할 때
메소드 start()에 actionListener를 통해서 event를 처리하고 있다.
Action 이벤트에 마우스 클릭을 통해서 닫기버튼을 클릭하면 프레임이 닫힌다.
도움되셨다면 공감 버튼 꾹 눌러주세요
오늘도 좋은 하루 되세요~
'JAVA' 카테고리의 다른 글
자바 스윙(swing) 보더 - BevelBorder, SoftBevelBorder (0) | 2016.08.12 |
---|---|
JAVA - Event 작성법 (0) | 2016.08.02 |
JAVA - 프레임 제목넣기, 컴포넌트 출력하기 (0) | 2016.07.21 |
JAVA - AWT 프레임 (프레임(Frame) 생성하기) (0) | 2016.07.21 |
JAVA 예외 처리 방법2 (0) | 2016.07.07 |