Microsoft PowerPoint - 06-Chapter09-Event.ppt

Similar documents
오버라이딩 (Overriding)

PowerPoint Presentation

Cluster management software

슬라이드 1

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

운동시뮬레이션 강의 소개

(Microsoft PowerPoint - LZVNQBAJWGTC.ppt [\310\243\310\257 \270\360\265\345])

gnu-lee-oop-kor-lec10-1-chap10

10장.key

Microsoft PowerPoint - lec09_12.ppt [호환 모드]

Microsoft PowerPoint - 10장

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

PowerPoint 프레젠테이션

<4D F736F F F696E74202D205B4A415641C7C1B7CEB1D7B7A1B9D65D3130C0E5C0CCBAA5C6AEC3B3B8AE>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

제8장 자바 GUI 프로그래밍 II

PowerPoint Presentation

Microsoft PowerPoint - ÀÚ¹Ù08Àå-2.ppt

슬라이드 1

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 14주차 강의자료

No Slide Title

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - EEL2 Lecture10 -Swing and Event Handling.pptx

Microsoft PowerPoint 자바-AWT컴포넌트(Ch8).pptx

PowerPoint Presentation

Cluster management software

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 04-UDP Programming.ppt

11장.key

PowerPoint Presentation

Network Programming

Microsoft PowerPoint - java1-lecture10.ppt [호환 모드]

Chap12

9장.key

10 이벤트 처리와 그래픽 프로그래밍.key

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

public class FlowLayoutPractice extends JFrame { public FlowLayoutPractice() { super("flowlayout Practice"); this. Container contentpane = getcontentp

ch09

Java Programing Environment

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Design Issues

어댑터뷰

PowerPoint Presentation

강의자료

Microsoft PowerPoint - Java-03.pptx

쉽게 풀어쓴 C 프로그래밍

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

자바GUI실전프로그래밍2_장대원.PDF

PowerPoint Template

제1장 자바 언어 소개

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

PowerPoint Presentation

C++ Programming

System Patterns - Session

윈도우시스템프로그래밍

JAVA PROGRAMMING 실습 09. 예외처리

JUNIT 실습및발표

01-OOPConcepts(2).PDF

Cluster management software

Microsoft PowerPoint - 2강

Cluster management software

PowerPoint Presentation

gnu-lee-oop-kor-lec06-3-chap7

제11장 프로세스와 쓰레드

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

PowerPoint Presentation

Microsoft PowerPoint - CSharp-10-예외처리

자바로

Microsoft Word - java18-1-final-answer.doc

Spring Boot/JDBC JdbcTemplate/CRUD 예제

PowerPoint 프레젠테이션

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

rmi_박준용_final.PDF

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

ThisJava ..

윈도우시스템프로그래밍

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - java2-lecture5.ppt [호환 모드]

중간고사

09-interface.key

슬라이드 1

PowerPoint 프레젠테이션

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

(Microsoft PowerPoint - java1-lecture7.ppt [\310\243\310\257 \270\360\265\345])

No Slide Title

歯NetworkKawuiBawuiBo.PDF

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

PowerPoint Presentation

PowerPoint Presentation

JMF3_심빈구.PDF

Transcription:

AWT 이벤트처리하기 1. 이벤트처리방식 2. 이벤트클래스와리스너 3. 이벤트어댑터 4. 이벤트의종류 이벤트 (Event) 이벤트 사용자가 UI 컴포넌트에대해취하는행위로인한사건이벤트기반프로그래밍 무한루프를돌면서사용자의행위로인한이벤트를청취하여응답하는형태로작동하는프로그래밍

java.awt.event 이벤트처리 AWT 컴포넌트에서발생하는다양한이벤트를처리하기위한인터페이스와클래스제공 xxxlistener, xxxevent, xxxadapter, 위임형이벤트처리모델 컴포넌트 ( 이벤트소스 ) 에특정이벤트를처리하기위한객체 ( 이벤트리스너 ) 를따로등록함 이벤트클래스와이벤트리스너 컴포넌트에서발생할수있는이벤트들을분류한이벤트클래스들이존재 이벤트클래스는종류에맞는정보와메소드를가짐 컴포넌트마다발생될수있는이벤트가정해짐 Button 의경우발생가능한이벤트 : ActionEvent, ComponentEvent, FocusEvent, KeyEvent, MouseEvent ActionEvent 가발생할수있는컴포넌트 : Button, List, MenuItem, TextField

이벤트클래스와이벤트리스너 리스너는이벤트처리를위한인터페이스 xxxevent 클래스는 xxxlistener 인터페이스와대응됨 xxxlistener에는저수준이벤트를처리하기위한메소드들이존재 예 - KeyEvent 처리를위한 KeyListener : void keypressed(keyevent e) : void keyreleased(keyevent e) : void keytyped(keyevent e) 이벤트처리과정 처리할이벤트를결정 ActionEvent 라하자 해당리스너를구현하는클래스를정의 ActionListener 를구현하는클래스를 MyListener 라하자 : void actionperformed(actionevent e) 라는메소드를구현해야함 객체를생성하여해당컴포넌트의이벤트리스너로등록함 this.addactionlistener(new MyListener());

이벤트처리예제 import java.awt.*; import java.awt.event.*; // 이벤트리스너구현 class MyListner implements WindowsListener { public void windowclosing(windowevent ev) { System.exit(0); public void windowactivated(windowevent ev) { public void windowclosed(windowevent ev) { public void windowdeactivated(windowevent ev) { public void windowdeiconified(windowevent ev) { public void windowiconified(windowevent ev) { public void windowopened(windowevent ev) { 이벤트클래스계층구조 Object EventObject AWTEvent ComponentEvent ActionEvent AdjustmentEvent ItemEvent TextEvent ContainerEvent FocusEvent InputEvent KeyEvent MouseEvent PaintEvent WindowEvent

이벤트어댑터 저수준이벤트의편리한처리 이벤트처리메소드가 2 개이상인리스너인터페이스 (xxxlistener) 들에대해그것을구현한어탭터클래스 (xxxadapter) 가존재함 각이벤트처리메소드는빈블록임 어댑터가있는경우, 리스너를구현하는대신어댑터를상속하는클래스를정의 이벤트처리예제 import java.awt.*; import java.awt.event.*; // 어댑터를상속 class MyListner extends WindowAdapter { public void windowclosing(windowevent ev) { System.exit(0);

ActionEvent 와 ActionListener ActionListener 의메소드 void actionperformed(actionevent ev) 버튼을클릭하는경우, 메뉴항목을클릭하는경우, TextField 에서 엔터키 를치는경우, 리스트의항목을더블클릭하는경우 ActionEvent 의메소드 String getactioncommand() : 명령의이름을리턴 Object getsource() : EventObject 에서상속된메소드 ActionEvent 예제 class MyListener implements ActionListener { public void actionperformed(actionevent ev) { System.out.println(((Button)ev.getSource()).getLabel()); System.out.println(ev.getActionCommand()); if ("OK".equals(ev.getActionCommand())) { System.out.println("OK 버튼이눌렸습니다."); else if ("Cancel".equals(ev.getActionCommand())) { System.out.println("Cancel 버튼이눌렸습니다.");

WindowEvent 와 WindowListener WindowListener 의메소드 윈도우의상태변화를야기하는경우 void windowactivated(windowevent ev) void windowclosed(windowevent ev) WindowEvent 의메소드 int getnewstate() : 0 이면보통상태임 int getoldstate() Window getwindow() ItemEvent 와 ItemListener ItemListener 의메소드 void itemstatechanged(itemevent ev) Checkbox, CheckboxMenuItem, Choice, List에서아이템을선택하거나해제하는경우 ItemEvent 의메소드 Object getitem() int getstatechange()

AdjustmentEvent 와리스너 AdjustmentListener 의메소드 void adjustmentvaluechanged (AdjustmentEvent ev) 스크롤바의상태변화가생길때 AdjustmentEvent 의메소드 int getvalue() int getadjustmenttype() : UNIT_INCREMENT, UNIT_DECREMENT, BLOCK_INCREMENT, BLOCK_DECREMENT, TRACK class MyEvent implements AdjustmentListener { Label rl, gl, bl; Canvas c; Scrollbar rb, gb, bb; public MyEvent(ScrollbarEvent f) { rl = f.rl; gl = f.gl; bl = f.bl; c = f.c; rb = f.rb; gb = f.gb; bb = f.bb; public void adjustmentvaluechanged(adjustmentevent ev) { int r, g, b; r = rb.getvalue(); g = gb.getvalue(); b = bb.getvalue(); Color newbg = new Color(r, g, b); rl.settext(" 적 " + r); gl.settext(" 녹 " + g); bl.settext(" 청 " + b); c.setbackground(newbg);

KeyEvent 와 KeyListener KeyListener 의메소드 keypressed(keyevent ev) keyreleased(keyevent ev) keytyped(keyevent ev) KeyEvent 의메소드 char getkeychar() int getkeycode() int getkeylocation() static String getkeytext(int keycode) static String getkeymodifierstext(int) MouseEvent 와리스너 MouseListener 의메소드 mouseclicked(mouseevent ev) MouseMotionListener 의메소드 mousedragged(mouseevent ev) mousemoved(mouseevent ev) MouseEvent 의메소드 int getbutton() int getcickcount() Point getpoint()

TextEvent 와 FocusEvent TextListener 의메소드 textvaluechanged(textevent ev) TextArea와 TextFiled에서텍스트에변화가생겼을때 FocusListener 의메소드 컴포넌트가입력포거스를얻거나잃을때 focusgained(focusevent ev) focuslost(focusevent ev) ComponentEvent 와 ContainerEvent ComponentListener 의메소드 componenthidden(componentevent ev) componentmoved(componentevent ev) componentresized(componentevent ev) componentshown(componentevent ev) ContainerListener 의메소드 자식컴포넌트가추가되거나삭제될때 componentadded(containerevent ev) componentremoved(containerevent ev)