자바 5.0 프로그래밍.

Slides:



Advertisements
Similar presentations
비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
Advertisements

제 8 장 그래픽 사용자 인터페이스 어서와 Java 는 처음이지 !. 그래픽 사용자 인터페이스 (Graphical User Interface, 간단히 GUI) 는 컴포넌트들로 구성된다.
명품 JAVA Essential.
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
그래픽 프로그래밍 (GUI - Graphic User Interface)
9장. 스윙 프로그래밍.
10장. 이벤트 처리와 그래픽 프로그래밍.
Java AWT Computer Programming Distributed Computing System Laboratory
GUI 이벤트, 이벤트 리스너와 이벤트 소스 그림 그리기 내부 클래스
제7장 이벤트 프로그래밍.
Chapter 10. AWT 이벤트.
명품 JAVA Essential.
Chap13 이벤트 처리 13.1 : 이벤트란? 13.2 : 자바의 이벤트 모델 13.3 : 이벤트 관련 컴포넌트
7장 배열 ③.
레이아웃 관리자 스윙 구성요소 비트박스 프로그램
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
컴퓨터 프로그래밍 실습 #7 제 4 장 GUI 클래스 작성.
명품 JAVA Essential.
J2ME(Java 2 Micro Edition) 무선 장치용 UI의 핵심 컴포넌트
명품 JAVA Programming.
Chap14 스윙(SWING) 14.1 스윙 컴포넌트 14.2 컴포넌트의 이벤트 처리
Kim heesang JDBC Programming 2 Kim heesang
제 4 장 클래스 작성 Lab 4- 2.
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
9장 AWT(1).
Lesson 12. 사용자 인터페이스(AWT) - 1
Lesson 11. 이벤트.
Java의 정석 제 13 장 AWT와 애플릿 Java 정석 남궁성 강의
Power Java 제19장 배치 관리자(Layout Manager).
어서와 Java는 처음이지! 제8장 그래픽 사용자 인터페이스.
Choi Younghwan CSE HUFS
18장 사용자 인터페이스 18.1 AWT(Abstract Window Toolkit) 18.2 컴포넌트의 이벤트 처리
java.awt 패키지의 단순 컴포넌트와 이벤트 처리
Chapter 12. Awt와 Swing Chapter 13. 배치 관리자 Chapter 14. 이벤트 관리자
Java로 배우는 디자인패턴 입문 Chapter 22. Command 명령을 클래스로 만든다
Swing 컴포넌트 텍스트 컴포넌트 텍스트 필드 텍스트 영역 스크롤 페인 체크 박스 라디오 버튼.
이벤트 프로그래밍 안혜선.
목 차 1. swing component 특징 및 관련 packages
Java Seminar Chapter 4.
5장 조건과 반복 ③.
프로그래머를 위한 Java 2 제4장 AWT 프로그래밍
명품 JAVA Essential.
메모장 구동.
9장 AWT(1).
GUI 프로그래밍과 AWT 컴퓨터 공학실험(I) 인공지능 연구실.
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
MFC UI for TS Analyzer 서울시립대학교 컴퓨터통계학과 최 용 진.
JAVA WINDOW PROGRAMMING
Power Java 제14장 배치 관리자.
Visual Basic 기초 1 목표: 컴퓨터기반제어에 관련된 학습을 하기 전에 Visual Basic의 기초를 살펴본다.
4장 Random Number 프로그래밍 언어 실험실 석사 3학기 박중기
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
국제의료관광 관련 법, 제도.
JAVA WINDOW PROGRAMMING
Java Chapter 4 ~ 주차.
예술치료 실습보고서 미술치료 음악치료 모래상자치료 연극치료 학 교 : 백석대학원 학 과 : 특수심리치료
Mariadb JDBC PROGRAMMING2
Barat을 이용한 Code Transformation
제 4 장 클래스 작성 Lab 4- 2.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
GUI 프로그래밍과 AWT 컴퓨터 공학실험(I) 인공지능 연구실.
담당 : 황기태 교수님 학번 : ㈜ 이름 : 조성대 제출 :
Power Java 제14장 배치 관리자.
Power Java 제16장 이벤트 처리.
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
5장 조건과 반복 ③.
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

자바 5.0 프로그래밍

chapter 14 : GUI

학습목표 AWT ( Abstract Window Toolkit) AWT 계층구조 Container 특징 LayoutManager AWT 이벤트 이벤트 처리방법 Adapter

정의 작성방법 AWT 자바의 GUI 및 이벤트처리를 담당하는 GUI 메커니즘을 의미. java.awt 패키지의 클래스 이용. OS자원을 이용하여 GUI를 보여준다. 플랫폼에 종속적이다 ( weight ) javax.swing 패키지의 클래스 이용. 자체적인 GUI클래스로 보여준다. 플랫폼에 독립적이다 ( light )

AWT 계층구조

구성요소 AWT 비주얼Component Button , Checkbox , Label 등 반드시 Container을 통해서 보여진다. Container Window 계열 : 비주얼컴포넌트 및 Panel을 보여준다. - Frame - Dialog Panel 계열 : - Applet - 독립적으로 작동하지 못하고 반드시 Window계열을 통해서 보여진다. LayoutManager BorderLayout , FlowLayout ,CardLayout , GridLayout 등 컴포넌트의 위치 및 크기 설정.

AWT 실행화면

Frame Panel Container 일반적인 응용프로그램에서 윈도우를 생성하기 위해 사용된다. 기본적으로 타이틀, 최소버튼,최대버튼,종료버튼이 지원된다. 상위클래스인 Window은 타이틀,메뉴가 지원되지 않는다. 기본으로 화면에 안보이게 설정했기 때문에 반드시 f.setVisible( true)값으로 설정한다. 화면크기는 setSize() , setBounds() 메소드를 사용한다. 기본 LayoutManager은 BorderLayout 이다. Panel 컴포넌트들을 그룹별로 묶어서 처리할 때 사용한다. 독립적으로 보여주지 않고 반드시 Frame을 통해서 보여진다. 기본 LayoutManager은 FlowLayout 이다. 주로 컴포넌트들의 화면배치문제로 인해 Panel을 자주 사용한다.

Component 특징 GUI화면을 구성하는 기본단위로서 각 컴포넌트들의 공통적인 메소드를 정의하고 있다. 종류

특징 종류 LayoutManager ( 배치지시자 ) 컨테이너에 컴포넌트를 배치할 때의 위치와 크기가 정해져 있다. 컨테이너는 기본적으로 하나의 LayoutManager를 갖는다. 컨테이너 고유의 LayoutManager를 바꿀수 있다. setLayout() 메소드 이용 종류 BorderLayout FlowLayout CardLayout GridLayout GridBagLayout

특징 BorderLayout Frame의 기본 배치관리자 이다. 5개의 영역으로 구분되어 배치된다. 기본은 Center 이다. 컴포넌트 크기가변 , 위치불변 배치관리자 변경메소드 : f.setLayout( new FlowLayout());

BorderLayout 예제

특징 FlowLayout Panel 의 기본 배치관리자 이다. 수평으로 순서대로 늘어놓는 형태의 배치관리자이다. 컴포넌트 크기불변, 위치가변

FlowLayout 예제

특징 GridLayout 바둑판 형태의 배치관리자이다. 생성시 행과열을 지정한다. 컴포넌트 추가는 좌측에서 우측으로 , 위에서 아래로 추가된다.

GridLayout 예제

Panel 사용예제

GUI 이벤트

이벤트 처리( Event Handling) AWT 이벤트 이벤트( Event ) GUI 컴포넌트에서 발생되는 모든 행위를 지칭하는 용어. - 버튼을 클릭하거나 윈도우 종료단추를 클릭하는 행동 이벤트 소스( Event Source) Event 가 발생된 컴포넌트를 의미한다. - 버튼을 클릭하면 이벤트가 발생이 됐으며 이벤트소스는 버튼이된다. 이벤트 처리( Event Handling) Event가 발생되었을 때 실제로 발생되는 동작을 의미한다. - 윈도우 종료버튼을 클릭하면 창이 닫힌다. 이벤트 리스너( Event Listener) 컴포넌트에서 이벤트의 발생여부를 체크하고 실제적으로, 발생된 각 이벤트의 처리메소드를 정의하고 있는 프로세스를 의미. 인터페이스로 선언.

이벤트 처리자( Event Handler) AWT 이벤트 이벤트 처리자( Event Handler) 이벤트 리스너에 전달된 이벤트를 실제로 구현작업을 담당하는 클래스를 의미한다. 이벤트리스너를 implements 해서 구현한다. 자바의 이벤트 처리방법 GUI프로그램이 실행중에 OS가 이벤트가 발생이 되는지를 검사. 이벤트가 발생되면 OS가 JVM에게 이벤트를 전달한다. JVM은 발생된 이벤트를 처리하기 위하여 이벤트객체를 생성. 생성된 이벤트객체를 이벤트리스너를 구현한 이벤트핸들러로 전달하여 이벤트 처리를 한다. 이벤트발생 JVM 이벤트핸들러 버튼클릭 interface

java.awt.event 패키지의 Event 계층구조 ActionEvent InputEvent PaintEvent KeyEvent MouseEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent FocusEvent ContainerEvent WindowEvent

java.awt.event 패키지의 Event 내용 이벤트 종류 설명 ActionEvent 버튼, 리스트, 메뉴 등의 컴포넌트가 눌리거나 선택이 되었을 때 발생하는 이벤트 AdjustmentEvent 스크롤바와 같은 조정 가능한 컴포넌트에서 조정이 일어나면 발생하는 이벤트 ComponentEvent 컴포넌트의 모습, 이동, 크기가 변화될 때 발생하는 이벤트 ItemEvent 리스트와 같은 선택항목이 있는 컴포넌트에서 선택항목이 선택될 때 발생되는 이벤트 TextEvent 텍스트 컴포넌트에서 값이 입력될 때 발생하는 이벤트 ContainerEvent 컨테이너에 컴포넌트가 추가되거나 제거될 때 발생하는 이벤트 FocusEvent 컴포넌트에 초점(Focus)이 들어 올 때 발생하는 이벤트 PaintEvent 컴포넌트가 그려져야 할 때 발생하는 이벤트 WindowEvent 윈도우가 활성화되거나 비활성화 될 때, 최소, 최대, 종료 될 때 발생하는 이벤트 KeyEvent 키보드로부터 입력이 될 때 발생하는 이벤트 MouseEvent 마우스가 눌려지거나 움직일 때, 마우스 커서가 컴포넌트 영역에 들어가거나 벗어날 때 발생하는 이벤트

컴포넌트별 발생이벤트 종류 AWT 이벤트 컴포넌트 발생 가능한 이벤트 Button ActionEvent, FocusEvent,KeyEvent,MouseEvent, ComponentEvent Checkbox ItemEvent, FocusEvent,KeyEvent, MouseEvent,ComponentEvent Frame WindowEvent,FoucsEvent,KeyEvent,MouseEvent,ComponentEvent List ActionEvent, FocusEvent, KeyEvent, MouseEvent,ItemEvent, ComponentEvent Label FocusEvent, KeyEvent, MouseEvent, ComponentEvent Choice ItemEvent , FocusEvent, KeyEvent, MouseEvent, ComponentEvent Adjustable AdjustmentEvent

ActionEvent AWT 이벤트 버튼이 클릭되거나 리스트, 메뉴등이 선택되었을 때 발생한다. 텍스트필드에서 엔터를 쳤을때도 발생한다.

AWT 이벤트 ItemEvent 체크박스, 리스트 , 초이스 컴포넌트에서 항목을 선택하거나 해제했을 경우 발생한다.

AWT 이벤트 keyEvent 키보드를 통해서 키 입력을 했을 경우에 발생한다.

AWT 이벤트 MouseEvent 마우스를 클릭하거나 포인터가 컴포넌트 영역에 들어오거나 벗어날 때 발생한다.

AWT 이벤트 WindowEvent 윈도우를 활성화 ,아이콘화 ,비활성화 작업시 발생한다.

이벤트 리스너 종류 AWT 이벤트 이벤트 리스너 종류 구현 메소드 ActionListener actionPerformed( ActionEvent ) AdjustmentListener adjustmentValueChanged( AdjustmentEvent) ItemListener itemStateChanged( ItemEvent ) TextListener textValueChanged( TextEvent ) FocusListener focusGained(FocusEvent) focusLost(FocusEvent) KeyListener keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent) MouseMotionListener mouseDragged(MouseEvent), mouseMoved(MouseEvent)

이벤트 리스너 종류 AWT 이벤트 이벤트 리스너 종류 구현 메소드 MouseListener mouseClicked(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mousePressed(MouseEvent) mouseReleased(MouseEvent) WindowListener windowOpened(WindowEvent) windowClosing(WindowEvent) windowClosed(WindowEvent) windowActivated(WindowEvent) windowDeactivated(WindowEvent) windowIconified(WindowEvent) windowDeiconfied(WindowEvent)

이벤트 처리 3단계 이벤트 핸들러 위치에 따른 4가지 이벤트처리법 AWT 이벤트 1 단계. 이벤트소스를 결정한다. 2 단계. 이벤트리스너를 결정하고 리스너를 구현할 이벤트핸들러를 작성한다. 반드시 인터페이스를 구현한다. 3 단계. 이벤트소스와 이벤트리스너를 연결한다. 연결방법은 addXXXListener() 메소드를 이용한다. ( XXXListener 은 인터페이스명 이다. ) 이벤트 핸들러 위치에 따른 4가지 이벤트처리법 GUI 와 이벤트핸들러가 같은 클래스로 처리. GUI 와 이벤트핸들러가 다른 클래스로 처리. GUI 와 이벤트핸들러가 내부클래스로 처리. GUI 와 이벤트핸들러가 anonymous클래스로 처리.

이벤트 핸들러 위치에 따른 4가지 이벤트처리법 같은 클래스 처리

같은 클래스 처리 이벤트소스 분석에 의한 이벤트 처리 getActionCommand() getSource()

이벤트 핸들러 위치에 따른 4가지 이벤트처리법 다른 클래스 처리

이벤트 핸들러 위치에 따른 4가지 이벤트처리법 내부 클래스 처리

이벤트 핸들러 위치에 따른 4가지 이벤트처리법 anonymous 클래스 처리

정의 용도 방법 Adapter 클래스 2개 이상의 추상메소드를 가진 Listener 인터페이스를 미리 구현한 클래스이다. 추상메소드를 구현해야 한다. 필요하지 않는 메소드까지도 구현해야하는 불편함을 해소할 수 있다. 방법 Listener 인터페이스 대신 Adapter 클래스로 이벤트처리를 한다.

Adapter 클래스 Listener 와 Adapter

Adapter 클래스 예제

AWT 와 컴포넌트 Frame Panel LayoutManager 이벤트 처리 이벤트 처리 4가지 방법 Adapter 요약 정리 AWT 와 컴포넌트 Frame Panel LayoutManager 이벤트 처리 이벤트 처리 4가지 방법 Adapter