728x90
EVENT 처리
Event: 컴포넌트에서 사건이 발생했을 때 기능을 부여하는 것. SQL에서는 'trigger'라고 불림
- 사건: 버튼눌림, 마우스움직임, 체크하기, 텍스트쓰기 등
- 기능: 실행문장들 기술
- Button을 클릭했을 때, Scrollbar 조절바를 움직였을 때, TextField에 글자를 썼을 때, Frame 우측상단의 X버튼을 클릭했을 때 등등
Event 처리방법
-
기능 부여할 컴포넌트 선정 (어떤 컴포넌트를 이벤트소스로 사용 할 지)
class My { Frame f Button bt_hello, bt_exit; Checkbox cb_apple; List list; } // 이벤트소스 후보자(사건유발자): f, bt_hello, bt_exit, cb_apple, list // <선정> bt_hello, bt_exit, list / <자료형> Button, List
-
선정된 이벤트소스 add~listenere 클래스 API문서혹은 검색으로 찾기
- Button : addActionListener(ActionListener l);
- List : addItemListener(ItemListener l);
-
EventListener 인터페이스 상속
-
분석된 이벤트 클래스에서 Event대신 Listener 붙임
ActionEvent --> ActionListener
ItemEvent --> ItemEventListener
MouseEvent --> MouseListener
-
3-2. (인터페이스 내의)선언된 메소드를 클래스에서 구현 (오버라이딩)
class A extends Frame implements ActionListener{
//implemets, 컴포넌트와 새로추가되는 핸들러를 연결하는 역할
public void actionPerformed(ActionEvent e){
//코드문장 : 이벤트 발생시(예: 버튼눌림) 실행할 기능 구현
}// ==>이벤트 처리부(EventHandler) ---
==> 이벤트 소스(EventSource)
public void itemStateChanged(ItemEvent e){}
}
-
연결!
이벤트 소스 <==연결===> 이벤트 처리부 (사건을 발생시키는 컴포넌트) (기능 정의하는 메소드) 이벤트소스명.add인터페이스명(이벤트핸드러위치 ); //연결자 등록 class My { My() { f.setSize(); f.setVisible(); //연결자 등록 bt_hello.addActionListener(this); bt_exit.addActionListener(this); list.addItemListener(this); } }
'Web develop > JAVA' 카테고리의 다른 글
[JAVA] 자바 Swing Event 사용 및 예제 (0) | 2019.05.02 |
---|---|
[JAVA] 자바 Swing JTable, DefaultTableModel (0) | 2019.04.30 |
[JAVA] 자바 GUI (0) | 2019.04.29 |
[JAVA] 자바 내부클래스(Inner Class/비 정적 중첩클래스) (0) | 2019.04.29 |
[JAVA] 자바 예외처리(Exception) 예제 (0) | 2019.04.26 |