본문 바로가기
Develop/Java

JAVA Event

by J0DEV 2021. 8. 9.
반응형

EventEx.zip
다운로드


이벤트 개요

1. 이벤트 개념

이벤트

  • AWT 구성 요소에 대해 사용자가 마우스나 키보드 등을 사용하여 조작을 했을 경우 일어나는 상황변화를 의미한다.
  • AWT환경에서 발생될 수 있는 이벤트를 클래스로 정의하였으며 java.awt.event 패키지에 정의되어 있다.
  • 발생될 수 있는 이벤트의 종류는 정해져 있으며 프로그래머가 기능을 부여한다.

2. 이벤트 핸들러

이벤트핸들러

  • 이벤트가 발생했을 경우 이에 대응하여 기능을 수행하도록 만든 클래스이다.
  • 이벤트 인터페이스를 구현하여 작성하거나 이벤트 클래스를 상속 받아 작성한다.
  • 내부 클래스로 작성하는 것이 효과적이다.

3. 이벤트 클래스

이벤트 종류

이벤트 이벤트 내용
ActionEvent 버튼이 눌려지거나 텍스트 상자에서 엔터키를 누를 때 발생
AdjustmentEvent 스크롤바와 같은 조정 가능한 컴포넌트에서 조정이 일어날 때 발생
ItemEvent 리스트나 초이스에서 항목이 선택될 때 발생
TextEvent 텍스트 컴포넌트의 내용이 바뀔 때 발생
ComponentEvent 컴포넌트의 크기나 모습이 변화될 때 발생
ContainerEvent 컨테이너 컴포넌트가 나타나거나 사라질 때 발생
FocusEvent 컴포넌트에 포커스가 형성되었을 때 발생
KeyEvent 키보드 입력에 의해 발생
MouseEvent 마우스 조작에 의해 발생
MouseWheelEvent 마우스 휠의 조작에 의해 발생
PaintEvent 컴포넌트가 그려질 때 발생
WindowEvent 윈도우에 변화가 일어날 때 발생

주요 컴포넌트에 따른 이벤트

컴포넌트 이벤트
Applet ContainerEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Button ActionEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Checkbox ItemEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Choice ItemEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Component FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Container ContainerEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Frame ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
List ActionEvent, FocusEvent, KeyEvent, MouseEvent, ItemEvent, ComponentEvent
Menu ActionEvent
MenuItem ActionEvent
Panel ContainerEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Scrollbar AdjustmentEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Textarea TextEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent
TextField ActionEvent, TextEvent,FocusEvent, KeyEvent, MouseEvent, ComponentEvent
Window ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent

AWT 이벤트 처리구조

1. 이벤트 프로그램 작성 절차

절차

  • 컴포넌트에 따른 이벤트 클래스를 결정
  • 이벤트 핸들러 클래스 작성
  • 이벤트 소스와 이벤트 핸들러를 연결

 


이벤트 리스너

1. 이벤트 리스너 개요

이벤트 리스너

  • 이벤트 처리를 실제적으로 담당하는 인터페이스
  • 이벤트가 발생되면 해당 이벤트 클래스를 전달받는다.
  • 이벤트 리스너를 구현하여 이벤트 핸들러 클래스를 작성해야 한다.
  • 이벤트 리스너를 구현하면 반드시 특정 메소드를 정의해야한다.

2. 이벤트 리스너 종류

이벤트 리스너 관련 메소드

  • 인터페이스는 구현하는 클래스에서 메소드의 실제 기능을 부여하도록 되어있다.
  • 리스너가 결정되면 해당 메소드를 정의하고 기능을 부여하는 클래스를 이벤트 핸들러 클래스라고 한다.
리스너 관련 메소드 기능
ActionListener actionPerformed(ActionEvent e) 버튼이 눌려질 경우 처리해야 할 내용을 기술함
AdjustmentListener adjustmentValueChanged(AdjustmentEvent e) 스크롤바의 막대가 움직여질 경우 처리해야 할 내용을 기술함
ItemListener itemStateChanged(ItemEvent e) 리스트 또는 드롭다운리스트의 항목을 선택했을 경우 처리해야 할 내용을 기술함
TextListener textValueChanged(TextEvent e) 텍스트상자의 문자 입력상황에 따라 처리해야 할 내용을 기술함
KeyListenerKeyAdapter keyPressed(KeyEvent e)keyReleased(KeyEvent e)keyTyped(KeyEvent e) 키보드의 키를 누르거나 떼거나 타이핑할 때 
MouseListenerMouseAdapter mouseClicked(MouseEvent e)mouseEntered(MouseEvent e)mouseExited(MouseEvent e)mousePressed(MouseEvent e)mouseReleased(MouseEvent e) 마우스 버튼을 누르거나 뗄 떼, 마우스 포인터가 특정 영역 내로 들어오거나 나갈 때
MouseMotionListenerMouseMotionAdapter mouseDragged(MouseEvent e)mouseMoved(MouseEvent e) 마우스 버튼을 누른 채 끌기 하거나 마우스를 움직일 때
MouseWheelListener mouseWheelMoved(MouseWheelEvent e) 마우스의 휠 버튼을 움직일 때
WindowListenerWindowAdapter windowOpened(WindowEvent e)windowClosing(WindowEvent e)windowClosed(WindowEvent e)windowActivated(WindowEvent e)windowDeactivated(WindowEvent e)windowIconified(WindowEvent e)windowDeiconified(WindowEvent e)windowStateChanged(WindowEvent e)windowGainedFocus(WindowEvent e)windowLostFocus(WindowEvent e) 윈도우 열기윈도우 닫기윈도우 종료윈도우 활성화윈도우 비활성화윈도우 아이콘화윈도우 비아이콘화윈도우 상태변화윈도우 포커스 얻음윈도우 포커스 잃음

3. 리스너 클래스의 사용

4. Adapter 클래스의 사용

 

 

반응형

'Develop > Java' 카테고리의 다른 글

JAVA 그래픽 구조, 그래픽 메소드  (0) 2021.08.09
JAVA 상위하위레벨 이벤트  (0) 2021.08.09
JAVA Container & Layout  (0) 2021.08.09
JAVA AWT & Swing  (0) 2021.08.09
JAVA Generic  (0) 2021.08.09