학습목표 이번장에서는 프로그램이 실행되는 환경이 다른 애플리케이션과 애플릿의 차이점을 학습하고, GUI 프로그램을 작성하기 위한 컴포넌트객체 생성과 배치 및  플랫폼(platform)에 따른 룩앤필(look and feel)에 대해서도 학습한다. 또한 컴포넌트에 어떤 동작(이벤트)이.

Slides:



Advertisements
Similar presentations
6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
Advertisements

목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Chapter 10. AWT 이벤트.
Java 16장. 스윙 public class SumTest {
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
MIDP UI ps lab 김윤경.
윤 홍 란 다이알로그(대화상자) 윤 홍 란
Chapter 13 GUI 프로그래밍 01 GUI 화면 구성 02 GUI 이벤트 처리 03 GUI 메뉴와 툴바 예제 모음 요약
어서와 Java는 처음이지! 제8장 그래픽 사용자 인터페이스.
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
목 차 1. swing component 특징 및 관련 packages
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Visual Basic .NET 처음 사용하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
Power Java 제14장 배치 관리자.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
그래픽 사용자 인터페이스와 사건처리.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
CHAP 12. 리소스와 보안.
JAVA Canvas Swing.
자바응용.
10장 tkinter로 GUI 만들기.
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
CHAP 5. 레이아웃.
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
※ 인터넷 옵션 조치 방법 ※ ★ 신뢰사이트 등록 (1) ★ 우리들을 신뢰해주세요^^* 방법이 복잡해 보일지 모르지만
※ 편리한 사이버 연수원 사용을 위한 인터넷 최적화 안내 ※
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
Mariadb JDBC PROGRAMMING2
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
Power Java 제14장 배치 관리자.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
 6장. SQL 쿼리.
Chap18 스윙(SWING) Section 1 : 스윙 컴포넌트 Section 2 : 컴포넌트의 이벤트 처리
7 생성자 함수.
6 객체.
JAVA 프로그래밍 16장 JNLP.
BoardGame 보드게임 따라가기.
20 XMLHttpRequest.
Presentation transcript:

JAVA 프로그래밍 7장 스윙 및 이벤트 처리

학습목표 이번장에서는 프로그램이 실행되는 환경이 다른 애플리케이션과 애플릿의 차이점을 학습하고, GUI 프로그램을 작성하기 위한 컴포넌트객체 생성과 배치 및  플랫폼(platform)에 따른 룩앤필(look and feel)에 대해서도 학습한다. 또한 컴포넌트에 어떤 동작(이벤트)이 발생하면 그 동작에 반응하여 처리되는 이벤트처리루틴(이벤트 핸들러)에 관계와 이벤트종류 및 리스너(listener)들에 대해서도 학습한다. 목차 Section1 스윙(Swing)의 개요 Section2 애플리케이션(Application) 과 애플릿(Applet) Section3 스윙(Swing) 컴포넌트 Section4 룩앤필 Section5 이벤트 와 이벤트처리의 개요 Section6 리스너와 이벤트 JAVA 프로그래밍

7장-스윙및 이벤트 처리 Section1 스윙(Swing)의 개요 스윙에 대한 기본작인 개요를 학습한다 . Section2 애플리케이션(Application) 과 애플릿(Applet) 데스크탑 기반과 웹 기반의 프로그래밍의 차이를 학습한다. GUI프로그램을 작성하기 위한 스윙컴포넌트를 대해 학습한다. Section3 스윙(Swing) 컴포넌트 Section4 룩앤필 다중 상속을 위한 인터페이스에 대해 학습한다. 이벤트와 이벤트 처리에 대해 학습한다. Section5 이벤트 와 이벤트처리의 개요 이벤트와 그에 해당하는 리스너에 대해 학습한다. Section6 리스너와 이벤트 JAVA 프로그래밍

1. 스윙(Swing)의 개요 (1/3) 스윙의 개요 스윙(Swing)컴포넌트들은 100% 자바코드로 쓰여진 저중량 컴포넌트(lightweight componet)이기 때문에 플랫폼(plateform)의 GUI기능에 부담을 주지 않는다. 즉, 플랫폼에 독립적이다. 스윙(Swing)은 레이블, 텍스트필드등과 같은 단순한 컴포넌트에서부터 테이블, 트리등과 같은 복잡한 기능을 가진 컴포넌트들을 포함하고 있는 컴포넌트들의 집합체이다.  대부분의 스윙(Swing)컴포넌트JComponent클래스로부터 직접 상속을 받아서 만들어진 것들이다. JComponet클래스는 전혀 새로운 것이 아니라, AWT기반의 하나의 컴포넌트이다. JAVA 프로그래밍

1. 스윙(Swing)의 개요 (2/3) MVC(Model-View-Controller) (1/2) MVC(Model-View-Controller) 구조는 전통적인 GUI기반의 어플리케이션을 구현하기 위한 디자인 패턴이다. MVC 구조는 사용자의 입력을 받아서, 그 입력 혹은 이벤트에 대한 처리를 하고, 그 결과를 다시 사용자에게 표시하기 위한 최적화된 설계를 제시한다. 뷰(View) 뷰(View)는 화면에 내용을 표출하는 역할을 담당 모델로부터 간접적인 메시지를 받거나 컨트롤러로부터 받은 메시지를 화면상에 표출하는 역할을 담당한다. JAVA 프로그래밍

1. 스윙(Swing)의 개요 (3/3) MVC(Model-View-Controller) (2/2) 모델(Model) 모델(Model)은 로직을 가지는 부분으로 DB와의 연동을 통해서 데이터를 가져와 어떤 작업을 처리하거나, 처리한 작업의 결과를 데이터로서 DB에 저장하는 일을 처리한다. 데이터를 생성하고 저장하고 처리하는 역할만을 담당한다. 따라서 모델은 컴포넌트 상태의 모든 정보값을 유지하는 역활을 한다. 컨트롤러(Controller) 컨트롤러(Controller)는 어플리케이션의 흐름을 제어하는 것으로 뷰(View)와 모델(Model)사이에서 이들의 흐름을 제어한다. 즉, 컨트롤러는 컴포넌트가 사용될 때의 동작을 수행하는것을 담당하고, 어떤 동작이 수행될지를 결정해야 한다. JAVA 프로그래밍

2. 애플리케이션 과 애플릿 (1/14) 자바에서 프로그램을 작성할 때는 크게 두개의 영역인  애플리케이션 프로그램과 웹브라우져(web Browser) 기반의 애플릿 프로그램으로 나뉘어서 작성된다. 애플리케이션 프로그램을 작성할 때는 컨테이너(container)를 Frame(AWT) 혹은 JFrame(Swing)을 쓰고, 애플릿 프로그램을 작성할 때는 컨테이너(container)를 Applet(AWT) 혹은 JApplet(Swing)을 쓴다. JAVA 프로그래밍

2. 애플리케이션 과 애플릿 (2/14) 컨테이너란 GUI프로그램을 작성할 때  컴포넌트들을 담는 장소로, 컨테이너를 컴포넌트의 모임이라 하기도 한다. 컨테이너가 될 수 있는 것은 프레임(Frame, JFrame), 애플릿(Applet, JApplet), 패널(Panel, JPanel)뿐이다. JFrame과 JApplet은 최종 컨테이너로 사용되고, JPanel 컴포넌트는  중간 컨테이너로 사용된다. 클래스째 컨테이너에 추가해야 할 경우에는JPanel을 패널(Panel, JPanel)을 사용한다. JAVA 프로그래밍

2. 애플리케이션 과 애플릿 (3/14) 프레임(JFrame) JFrame을 사용하려면 javax.swing패키지를 import 받아야한다. 프레임은 컨테이너의 일종으로 컴포넌트를 담는 역할을 하며, 일종의 윈도우로 타이틀 바를 가지고 있다. 프레임은 애플리케이션 프로그램을 작성할 때 쓴다. main()메소드를 가지고 있다는 것이다. 프로그램의 시작이 main()메소드로부터 시작한다. main()메소드를 가지므로 객체를 생성할때 사용되는 생성자를 사용해야한다. 생성자에서 컴포넌트의 객체의 생성과 배치를 할 때 사용된다.  JFrame은 4개의 생성자를 제공하나, 주로 많이 사용되는 형태는 매개변수 없는 JFrame()형태이다. JFrame() : 타이틀이 없는 보이지 않는 새로운 프레임을 생성한다. JAVA 프로그래밍

2. 애플리케이션 과 애플릿 (4/14) 애플릿(JApplet) JApplet을 작성하려면 javax.swing.*패키지를 import 받아야한다. 자바 애플릿은 웹브라우저를 기반으로 수행된다. 자바의 애플리케이션이 main()메소드로부터 시작되는 것에 반해, 애플릿은 init()메소드로부터 시작된다 JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (1/14) 스윙(Swing) 컴포넌트를 사용하려면 javax.swing패키지를 import받아야 한다. 스윙(Swing) 컴포넌트들은 여러 패키지에 나누어져 있다. 자주 사용하는 스윙(Swing)패키지 스윙(Swing) 패키지명 하는일 javax.swing 스윙(Swing)에서 가장 기본적이 패키지로대부분의 스윙(Swing)컴포넌트들이 이패키지에 속한다. javax.swing.border 다양한 보더(border)(테두리 선)의 사용을 위한 패키지이다. javax.colorchooser 색을 선택하기 위한 컴포넌트인 JColorChooser를 지원하기위한 패키지이다. javax.swing.event 스윙(Swing)에서 추가되는 이벤트처리를 위한 패키지이다. javax.swing.filechooser 파일을 선택하기 위한 컴포넌트인     JFileChooser를 지원하는 패키지이다. javax.swing.table JTable컴포넌트를 지원하는 패키지이다. javax.swing.tree JTree컴포넌트를 지원하는 패키지이다. JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (2/14) JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (3/14) JFrame이나 JApplet은 JRootPane이라는 단지 한 개의 자식 컴포넌트만 가질 수 있다 여러개의 컴포넌트를 추가시킬 때는 JRootPane에 추가시켜야 한다. Container c = getContentPane();//Container 객체를 리턴 c가 그것을 받는다. c.add(label1); // add()메소드를 사용해서 추가한다. JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (4/14) JLabel JButton JTextField GUI 프로그램에 대한 정보 또는 텍스트를 생성하기위한 레이블을 생성하는 컴포넌트이다. JLabel jl = new JLabel("연습"); JButton 버튼을 생성하는 컴포넌트이다 JButton jb = new JButton ("버튼"); JTextField JTextField는 문자열을 입력할 수 있는 컴포넌트이다. JTextField jb = new JTextField (); JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (5/14) JPasswordField JTextArea JPasswordField jb = new JPasswordField (); JTextArea JTextArea는 여러 줄의 문자열을 표시할 수 있는 컴포넌트이다.  스윙 컴포넌트인 JTextArea는 자동으로 스크롤바가 생기지 않는다. 스크롤바를 붙일 때는  JScrollPane클래스 객체를 사용해서 스크롤바를 붙여준다. JTextArea content = new JTextArea(3,20); JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (6/14) 레이아웃 매니져 I (Layout Manager I) (1/2) 복잡한 형태의 컴포넌트는 중간컨테이너인 JPanel을 사용하면 해결한다. 컴포넌트를 어떤 형태로 부착 시킬 것인가는 레이아웃 매니저를 사용해서 처리한다. 플로우 레이아웃(FlowLayout) 플로우 레이아웃은 컨테이너에 컴포넌트를 차례로 왼쪽에서 오른쪽으로 추가시킨다. 한 줄에 표시하기에 컴포넌트가 많으면 자연스럽게 다음 줄에 추가된다. 플로우 레이아웃은 기본적으로 컨테이너가 중앙정렬 된다. 컨테이너중 AWT의 Applet과 , Panel과 스윙의 JPanel의 기본 레이아웃 매니저는 FlowLayout이다. JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (7/14) 레이아웃 매니져 I (Layout Manager I) (2/2) 보더 레이아웃(BorderLayout) 보더 레이아웃은 컨테이너에 컴포넌트를 부착시킬 위치가 이미 정해져 있는것으로 East/West/South/North/Center 이 다섯 부분에만 컴포넌트가 부착될 수 있다. JFrame과 JApplet의 기본 레이아웃 매니저는 BorderLayout이다. 그리드 레이아웃(GridLayout) 그리드 레이아웃은 컨테이너가 일률적으로 정해진 같은 크기로 컴포넌트를 추가시킨다. 행렬의 형태를 가지며, 왼쪽부터 열의 개수만큼 컴포넌트가 추가되며, 한행이 모두 추가되면 다음 행의 에 추가된다. JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (8/14) JCheckBox JRadioButton 라디오버튼은 JRadioButton 클래스를 사용해서 객체를 생성한다. JRadioButton은 ButtonGroup을 이용해서 논리적 그룹화를 해야 한다. JCheckBox c1 = new JCheckBox( "잠자기" ); JCheckBox c2 = new JCheckBox( "TV시청" ); JCheckBox c3 = new JCheckBox( "만화보기" ); JRadioButton r1 = new JRadioButton( "남자" ,true); JRadioButton r2 = new JRadioButton( "여자" ,false); ButtonGroup bg = new ButtonGroup(); bg.add(r1); bg.add(r2); JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (9/14) JList 레이아웃 매니저 II (Layout Manager II) JList는 리스트박스를 생성하는 컴포넌트로,  setVisibleRowCount(5)를 사용해서 표시하고 싶은 리스트의 개수를 표시한다. 단일 선택 또는 복수 선택은 setSelectionMode()메소드를 사용해서 한다. JList jl = new JList(sports); 레이아웃 매니저 II (Layout Manager II) 카드 레이아웃(CardLayout) 카드 레이아웃(CardLayout)은 컴포넌트들을 카드를 여러장이 겹쳐있는 형태 배치한다. 각각의 카드에는 하나의 컴포넌트만을 넣을 수 있다. JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (10/14) 박스 레이아웃(BoxLayout) 컴포넌트들이 왼쪽에서 오른쪽으로 수평 배치되거나, 위에서 아래로 수직 배치가 되도록 해주는 레이아웃관리자다. 박스 레이아웃은 컴포넌트들 간에 수직 혹은 수평공간을 확보하기 위해 Strut 과 Glue를 제공한다. Strut은 컴포넌트가 부착되어있는 컨테이너의 크기가 변하더라도 절대 크기가 변하지 않고, Glue는 변한다. Strut 과 Glue는 일종의 투명컴포넌트로서 자리만 차지하고, 보이지는 않는다 JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (11/14) 메뉴사용하기(JMenuBar, JMenu, JMenuItem) 메뉴(Menu)는 setMenuBar()메소드를 제공하는 컨테이너의 객체에만 사용할 수 있는데, 이것이 가능한 컨테이너는 최종 컨테이너로 사용되는 JFrame 과 JApplet이다. 메뉴를 정의해서 사용하기 위해서는 4단계의 과정이 필요하다. 1단계JMenuBar생성해서,  3단계에서 생성한 JMenu를 JMenuBar에 추가시킨다. JMenuBar bar = new JMenuBar(); 2단계 setJMenuBar() 사용해서 컨테이너에서 메뉴바를 사용할 수 있게한다. setJMenuBar( bar ); JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (12/14) 팝업메뉴(JPopupMenu) 3단계 JMenu생성해서  유사한JMenuItem 그룹을 관리한다. JMenu fileMenu = new JMenu( "파일" ); 4단계 JMenuItem , JCheckBoxMenuItem 혹은 JRadioButtonMenuItem등의 가장 하위단계의 메뉴의 항목을 생성한다. JMenuItem newItem = new JMenuItem( "새파일" ); 팝업메뉴(JPopupMenu) JPopupMenu는 GUI프로그램에서 제공되는 팝업메뉴를 생성한다. 팝업메뉴는 오른쪽 마우스버튼을 누르거나(mousePressed) 해제(mouseReleased)될 때 수행된다. PopupMenu popupMenu = new JPopupMenu(); JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (13/14) 인터널 프레임(JInternalFrame) GUI프로그램에서는 보다 발전된 형태의 GUI를 제공하기위에서는 부모 윈도우안에 별도의 자식윈도우를 갖는MDI(Multiple Data Interface)를 사용한다. 자바에서는 JInternalFrame을 제공한다. JInternalFrame은 혼자 동작할 수 없고 반드시 JDesktopPane에 JInternalFrame을 추가시켜야 자식 프레임인 JInternalFrame이 일반프레임처럼 작동된다. 1. JDesktopPane클래스의 객체를 생성한다. JDesktopPane desktop = new JDesktopPane(); 2. JInternalFrame클래스의 객체생성한다. JInternalFrame inframe = new JInternalFrame("내부프레임", true, true, true, true); 3. JDesktopPane클래스의 객체에 JInternalFrame클래스의 객체를 추가한다. desktop.add(inframe); JAVA 프로그래밍

3. 스윙(Swing) 컴포넌트 (14/14) 테이블(JTable) 탭팬(JTabbedPane) JTable클래스는 Table형태로 자료를 표현하고자 할 때 사용된다. JTable table = new JTable(data, title); 탭팬(JTabbedPane) 탭(Tab)을 자바에서 제공하는 것이 JTabbedPane 컴포넌트이다. JTabbedPane은 객체를 생성할 때 탭의 위치를 JTabbedPane.TOP , JTabbedPane.BOTTOM, JTabbedPane.LEFT, JTabbedPane.RIGHT로 지정할 수 있다. JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP); JAVA 프로그래밍

4. 룩앤필 (1/1) 룩앤필(Look-and-Feel)이란 GUI프로그램의 컴포넌트들이 프로그램이 수행되는 해당 플랫폼에 따라 그 모양이 약간씩 다르게 보이는 것을 말한다. 기존의 AWT에서는 룩앤필을 무시했었다. 그결과로 여러 가지 기능성문제가 발생하여서 Swing에서는 플랫폼에 따른  룩앤필(Look-and-Feel)을 정의 가능하도록 해서 이런 문제를 제거하였다. JAVA 프로그래밍

5. 이벤트 와 이벤트처리의 개요(1/2) 이벤트 이벤트 핸들러 버튼을 누르거나, 키를 입력하거나, 마우스를 클릭하는 것 등의 동작이다. 이벤트 핸들러 이벤트가 발생하면 발생된 이벤트에 반응하여 어떤 처리를 하는 메소드이다. 이벤트의 동작에 응답하는 방식으로 처리되는 프로그램을 이벤트 드리븐 (Event-driven) 프로그램이라 한다. 이벤트 드리븐 프로그램은 일종의 무한 루프 프로그램이 이벤트의 동작이 언제 들어오던지 처리해주는 방식으로 프로그램을 처리된다. JAVA 프로그래밍

5. 이벤트 와 이벤트처리의 개요(2/2) 이벤트 드리븐 프로그램의 요소 이벤트 드리븐 프로그램요소의 내용 이벤트 마우스버튼을 누르는 것, ꎠ키를 치는 것, 창을 닫는 것 등등 이벤트 핸들러 이벤트가 발생했을 때 그것을 처리하는 로직. 함수 또는 메소드라 불리운다. JAVA 프로그래밍

6. 리스너와 이벤트 (1/3) 리스너(Listener) (1/2) 리스너(Listener)는 인터페이스(interface)이다. 따라서 리스너안에 정의되어있는 메소드는 해당 리스너를 임플리먼츠(implements)하는 곳에서 반드시 오버라이딩 해줘야한다. 리스너는 이벤트와 이벤트핸들러 사이를 연결시켜주는 역할을 한다. 이벤트가 발생한 해당 컴포넌드를 리스너에 등록시켜야 해당이벤트가 제공하는 이벤트 핸들러로 프로그램 제어가 옮겨진다. 자바에서 이벤트 핸들러는 메소드로 표현된다. 즉, 이벤트를 처리하는 메소드이다. 자바에서 이벤트를 처리하는 메소드의 리턴타입은 언제나 void 이다. JAVA 프로그래밍

6. 리스너와 이벤트 (2/3) 리스너(Listener) (2/2) 이벤트와 이벤트 리스너의 관계는 예를 들어 설명하자만  ActionEvent는 ActionListener에 등록해서 사용해야 한다. 리스터를 등록할 때는 addActionListener()를 사용한다. 즉, XxxEvent 는 XxxListener에 addXxxListener()메소드를 이용해서 등록한다. JAVA 프로그래밍

6. 리스너와 이벤트 (3/3) 이벤트(Event) 자주 사용되는 이벤트와 해당이벤트를 부여할 수 있는 컴포넌트 이벤트명 해당컴포넌트 ActionEvent JButton, JTextField, JCheckBox, JComboBox, JFileChooser JMemuItem, JRadioButton ItemEvent JButton, JCheckBox, JComboBox, JMemuItem, JRadioButton MouseEvent JFrame , JPanel WindowEvent JFrame ListSelectionEvent JList, JTable KeyEvent JTextField ChangeEvent JSlider JAVA 프로그래밍