5장 컴포넌트 (II).

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Excel 일차 강사 : 박영민.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
윤 홍 란 다이알로그(대화상자) 윤 홍 란
4장 컴포넌트 (I) org.kwis.msp.lwc.
7장 배열 ②.
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 6. 형변환.
5장. 참조 타입.
7주차 Android Application.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Power Java 제14장 배치 관리자.
6장. printf와 scanf 함수에 대한 고찰
프로그래밍 랩 – 7주 리스트.
ATmega128 FND 실습 휴먼네트웍스 기술연구소
10장. 예외처리.
자바 5.0 프로그래밍.
11장. 1차원 배열.
13. 연산자 오버로딩.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
7장 인터페이스와 추상 클래스.
Method & library.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
인터넷응용프로그래밍 JavaScript(Intro).
CHAP 13. 방명록 만들기 실습.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
DK-128 FND 실습 아이티즌 기술연구소
Lesson 2. 기본 데이터형.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
USN(Ubiquitous Sensor Network)
인터넷응용프로그래밍 JavaScript(Intro).
08장 쿠키와 세션.
8장. spss statistics 20의 데이터 변환
Power Java 제11장 상속.
CHAP 21. 전화, SMS, 주소록.
객체기반 SW설계 팀활동지 4.
데이터 동적 할당 Collection class.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
메뉴(Menu) 컴퓨터응용 및 실습 I.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
Static과 const 선언 조 병 규 한 국 교 통 대 학 교 SQ Lab..
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
김덕용 게임 엔진론 Project 2차발표.
Power Java 제14장 배치 관리자.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
 6장. SQL 쿼리.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
CHAP 5. 메뉴와 대화상자.
7 생성자 함수.
6 객체.
Presentation transcript:

5장 컴포넌트 (II)

개요 ComboComponent CommandBarComponent/Command DateFieldComponent ImageComponent ProgressComponent ScrollbarComponent TickerComponent 컴포넌트와 관련 인터페이스의 정리

ComboComponent ComboComponent는 팝업메뉴 기능을 제공하는 클래스 팝업 메뉴 항목 중 선택된 항목을 보여주는 영역과 팝업 메뉴의 리스트를 보여주는 영역으로 나뉘어 있다. 선택항목을 보여주는 화면에서 SELECT키 입력시 팝업 메뉴 리스트가 보여지며 이 중 어떤 항목을 선택하면 팝업 메뉴 리스트는 화면에서 제거되고 새로운 선택 항목만이 보여지게 된다. 선택항목의 변경을 감시할 수 있는 ChangeListener를 등록하여 사용할 수 있으며, 팝업메뉴에서 새로운 항목을 선택시 ChangeListener의 changed 메소드를 호출하게 된다.

ComboComponent 예 선택된 영역(좌)과 SELECT키를 누르면 팝업 리스트를 보여주는 화면(우)

ComboComponent 주요 method public int append(String str) 주어진 문자열로 팝업메뉴의 새로운 항목을 생성하여 팝업메뉴 리스트의 맨 아래 위치에 추가한다. public int insert(int index, String str) 주어진 index 위치에 주어진 문자열로 팝업메뉴의 새로운 항목을 생성하여 팝업메뉴 리스트에 삽입한다. public void set(int index, String str) 주어진 index 위치에 주어진 문자열로 팝업메뉴 항목을 생성하여 새로 지정한다. public void delete(int index) 팝업메뉴 리스트의 주어진 index 위치에 있는 항목을 삭제한다. public String getString() 현재 선택되어 있는 항목의 문자열을 구한다.

ComboComponent 주요 method public int getSize() ComboComponent의 팝업메뉴 리스트 항목들의 개수를 구한다. public int getSelectedIndex() 팝업메뉴 리스트의 항목들 중 선택되어 있는 항목의 인덱스를 구한다 public int getPreferredHeight() 컴포넌트의 적절한 높이를 결정한다. public int getPreferredHeight(int w)

ComboComponent 주요 method public int getPreferredWidth() 컴포넌트의 적절한 폭을 결정한다. public void paintContent(Graphics g) 내부를 칠한다. protected boolean keyNotify(int type, int key) 키 입력을 받으면 호출된다. public void setChangeListener(ChangeListener listener, Object obj) ComboComponent에서 팝업메뉴 리스트의 항목들 중 선택된 항목이 변경된 경우, 변경상태를 감시할 ChangeListener를 설정한다. public void select(int index) 팝업메뉴 리스트에서 주어진 index의 항목을 선택한다.

예제 5.1

CommandBarComponent/ Command 화면에 현재 화면에 사용자가 내릴 수 있는 명령어를 보여주며, 사용자로부터 명령을 선택 받는다.

CommandBar에 Command 객체를 등록

CommandBarComponent /Command 주요 생성자 public CommandBarComponent() 커맨드 바 컴포넌트를 생성한다. Command 주요 생성자 public Command(String str, Object obj) public Command(String str, Image img, Object obj) public Command(String str, Image img, Image imgActive, Object obj) public Command(String str, String imgString, Object obj) public Command(String str, String imgString1, String imgString2, Object obj)

CommandBarComponent 주요 method public int addCommand(Command cmd) 커맨드를 하나 추가 시킨다. public void setCommandListener(CommandListener cl, Object obj) 커맨드 Listener를 지정한다. public int getPreferredHeight(int w) 컴포넌트의 적절한 높이를 결정한다. public int getPreferredHeight() public int getPreferredWidth() 컴포넌트의 적절한 폭을 결정한다. public int getSize() 등록된 커맨드의 개수를 구한다.

CommandBarComponent 주요 method public void removeCommand(Command cmd) 커맨드를 삭제한다. public void removeAll() 모든 커맨드를 삭제한다. public void setActiveIndex(int index) 선택된 커맨드를 지정한다. public int getActiveIndex() 선택된 커맨드의 인덱스를 돌려준다. public Command getCommand(int index) 커맨드를 돌려준다. protected boolean keyNotify(int type, int chr) 키 입력을 받으면 호출된다.

Command 주요 method public String getString() 명령을 나타내는 문자열을 돌려준다. public Object getExtObject() 생성시 설정한 Object객체를 돌려준다. public Image getNormalImage() 일반적인 이미지를 얻어 온다. public Image getActiveImage() 활성화되었을 때 사용하는 이미지를 얻어 온다.

예제 5.2

DateFieldComponent 날짜와 시간을 보여주는 필드를 화면에 표시해주고 이 값을 수정할 수 있다. DateFieldComponent를 생성할 때 지정한 모드에 관계없이 시스템에 설정된 기본 TimeZone과 Date를 사용하여 현재 시간과 날짜로 초기화된 데이타를 가지게 된다. 이 값은 getDate,setDate를 통해서 값을 얻어오거나 수정할 수 있다.

DateFieldComponent DateFieldComponent에서는 시간과 날짜를 지정하거나 수정 할 수 있는 3가지 타입의 모드를 제공한다. MODE_TIME 시간을 보여주는 필드를 화면에 출력하고 시간을 수정할 수 있다. MODE_DATE 날짜를 보여주는 필드를 화면에 출력하고 날짜를 수정할 수 있다. MODE_TIME_DATE 날짜와 시간을 보여주는 필드를 화면에 출력하고 각 시간과 날짜를 수정할 수 있다. (책 138,139페이지 참조)

3가지 타입의 모드에 따른 출력상태 [MODE_TIME] [MODE_DATE] [MODE_TIME_DATE]

모드에 따른 수정화면 [Time Setting] [Date Setting ]

DateFiledComponent 주요 method public Date getDate() DateFieldComponent에서 현재 설정되어 있는 날짜 정보를 가지고 있는 Date객체를 얻어온다. public int getMode() DateFieldComponent에 설정된 모드를 얻어 온다. public TimeZone getTimeZone() DateFieldComponent에 설정되어 있는 TimeZone을 얻어 온다. public void setDate(Date dt) DateFieldComponent에 Date를 설정한다. public void setMode(int mode) DateFieldComponent의 모드를 설정한다. public void setTimeZone(TimeZone tz) DateFieldComponent의 TimeZone을 설정한다. public String getStringValue(int mode) 인자로 주어진 모드에 따라 날짜나 시간 값을 String 형태로 얻어 온다.

예제 5.3

ImageComponent public class ImageComponent extends Component 이미지데이타를 지정한 정렬형태로 화면에 출력하는 클래스 setLayout(int)메소드를 이용하여 정렬형태를 지정 할 수 있다. 정렬은 이전 장에서 배운 LabelComponent의 정렬 조합규칙과 동일한 기능을 제공. 디폴트로 LAYOUT_LEFT|LAYOUT_TOP이다. 애니메이션을 지원하는 이미지의 경우에는 play()와 stop()메소드를 이용하여 이미지를 제어 할 수 있다.

ImageComponent 주요 생성자 public ImageComponent() public ImageComponent(Image img) 주어진 이미지로 새로운 ImageComponent를 생성한다. public ImageComponent(String str) 주어진 이미지 경로로 새로운 ImageComponent를 생성한다.

ImageComponent 주요 method public void setImage(Image img) ImageComponent에 이미지를 설정한다. public Image getImage() ImageComponent에 설정된 이미지를 얻어온다. public void setImage(String str) ImageComponent에 주어진 이미지 리소스 경로명을 가지고 이미지를 생성하여 설정한다. public void setLayout(int layout) 이미지의 정렬형태를 설정한다. public void play() 이미지가 애니메이션 이미지인 경우에 애니메이션을 시작한다. public void stop() 이미지가 애니메이션 이미지인 경우에 애니메이션을 멈춘다.

예제 5.4

ProgressComponent 진행상태등을 나타내기 위해 사용하는 콤포넌트 Interactive / NoneInteractive 두 가지 모드가 있으며 생성시에 결정된다. Interactive의 경우 사용자의 키 입력을 받아 setStep에서 정의 된 값만큼 증가 혹은 감소. NoneInteractive모드에서는 사용자의 입력은 받지 않으며 setValue에 의해 값이 변경 . 기본적으로 step값은 1로 되어 있으며 setStep함수에 의해 변경 가능. ProgressComponent의 최소값은 0으로 고정되어 있으며 최대값만 변경 가능 [Progress 상태바(Bar)]

ProgressComponent 주요 생성자 ProgressComponent(boolean bInteractive, int max) 0을 최소값으로 하는 새로운 ProgressComponent를 만듦 매개변수 bInteractive true-Interactive 모드 false-NoneInteractive 모드 max Progress의 최대값을 설정한다.

ProgressComponent 주요 method public void setStep(int step) Progress 바(Bar)의 증감 단위를 설정한다 Interactive인 경우 사용자의 입력에 의한 증가 량이므로 사용되며, setValue등에 의한 입력 시에도 주어진 단위 별로 증감이 된다. step값이 변경되는 경우 현재 값도 step단위로 변경된다. 기본값은 1이다. public int getStep() Progress 바(Bar)의 증감 단위를 구한다. public void setMargin(int top, int bottom) Progress 바(Bar)의 상하 여백을 설정한다. (픽셀단위)

ProgressComponent 주요 method public void setMaxValue(int maxValue) Progress의 최대 값을 설정한다. public int setValue(int value) Progress의 현재 값을 설정한다. public int getValue() Progress의 설정되어 있는 현재 값을 구한다. public int getMaxValue() 설정되어 있는 최대값을 구한다. public void setChangeListener(ChangeListener listener, Object obj) ProgressComponent에 ChangeListener를 등록한다.

예제 5.5

ScrollbarComponent 최대,최소값을 가지고 그 영역 내에서 값을 유동적으로 변경할 수 있는 컴포넌트. ScrollBarComponent에서는 좌우스크롤 HORIZONTAL과 상하스크롤 VERTICAL의 두 가지 스크롤 방향 값을 제공. 이 값은 setDirection(int direction)을 통해서 지정할 수 있으며, HORIZONTAL과 VERTICAL 이외의 값이 지정된 경우 IllegalArgumentException이 발생 스크롤 바의 값은 사용자의 키 입력에 따라 값이 변경될 수도 있으며 ,setCurrentValue(int) 등의 메소드를 사용하여 스크롤 바의 위치 값을 변경할 수도 있다.

ScrollbarComponent의 주요 생성자 public ScrollbarComponent() ScrollbarComponent를 생성한다. public ScrollbarComponent(int direction) 지정한 스크롤 바의 방향 값으로 ScrollbarComponent를 생성한다. publicScrollbarComponent(int direction,int currentValue,int viewAmount,int minimum,int maximum, int chAmount) 주어진 스크롤 바의 각 크기 값과 스크롤 방향 값으로 ScrollbarComponent를 생성한다. 매개변수 direction 스크롤 바의 방향 값. currentValue 현재 스크롤 바의 위치 값. viewAmount 스크롤 바의 영역 크기 값. minimum 스크롤 바의 minimum값. maximum 스크롤 바의 maximum값.

스크롤 바 값의 형태

ScrollbarComponent의 주요 method public int getDirection() 현재 지정된 ScrollbarComponent의 스크롤 방향 값을 반환한다. public void setDirection(int direction) 스크롤 바의 스크롤 방향 값을 지정한다. public int getCurrentValue() 스크롤 바의 현재 위치 값(currentValue)을 반환한다. public void setCurrentValue(int newValue) 스크롤 바의 현재 위치 값(currentValue)을 지정한다. public int getMinimum() 스크롤 바의 최소값을 반환한다. public void setMinimum(int newMinimum) 스크롤 바의 최소값을 지정한다. public int getMaximum() 스크롤 바의 최대값을 반환한다.

ScrollbarComponent의 주요 method public void setMaximum(int newMaximum) 스크롤 바의 최대값을 지정한다. public int getViewAmount() 스크롤 바의 영역 크기 값을 얻어온다. public void setViewAmount(int newAmount) 스크롤 바의 영역 크기 값을 지정한다. public int getChangeAmount() 스크롤 시 증감되는 증감 값의 크기를 얻어온다. public void setChangeAmount(int newChAmount) 스크롤 시 증감되는 값의 크기를 지정한다. public int getForegroundColor() 스크롤 바의 전경색을 돌려준다. public void setForegroundColor(int fg) 스크롤 바의 전경색을 지정한다.

TickerComponent 문자열과 이미지로 구성되면 우측에서 좌측으로 움직이는 컴포넌트. 넓이 값은 TickerComponent를 추가한 ContainerComponent의 넓이 값과 같다. 높이는 이미지가 문자 한 줄 높이보다 작은 경우 한 줄 높이 값을 가지며, 이미지의 높이가 문자열보다 큰 경우 이미지 높이 값을 가진다. 움직임의 속도 및 움직임의 여부를 setDelay(int) 및 setTIckerState(boolean)를 이용하여 설정할 수 있다. 디폴트로 각각 500(0.5초)과 true이다. TickerComponent에서는 움직임을 제어할 수 있는 기능을 제공하고 있다. 움직임 상태는 setTickerState(boolean)메소드를 사용하여 제어할 수 있다.

TickerComponent 예 문자열 또는 이미지가 오른쪽에서 왼쪽으로 흐르는 TickerComponent

TickerComponent의 주요 생성자 public TickerComponent(String str, Image img) TickerComponent를 생성한다. 매개변수 str TickerComponent의 문자 데이터 img TickerComponent의 이미지 데이타 혹은null

TickerComponent의 주요 method public void setString(String str) 화면에 출력될 TickerComponent의 문자를 지정한다. public String getString() TickerComponent의 문자를 얻어온다. public void setImage(Image img) TickerComponent의 이미지를 지정한다. public Image getImage() TickerComponent의 이미지를 전달한다. public void setDelay(int delay) TickerComponent의 문자 흐름 속도를 설정한다. public boolean setTickerState(boolean st) TickerComponent의 움직임/정지 상태를 설정한다.

예제 5.6

컴포넌트와 관련 인터페이스의 정리 public interface ActionListener public interface ChangeListener public interface CommandListener public interface EventListener public interface GrabKeyListener

public interface ActionListener public void action(Component cmp,Object obj) 리스트에서 action이 발생하면 불린다. 매개변수 cmp action이 발생한 컴포넌트 obj setActionListener시에 넣은 Object 인수

public interface ChangeListener Selection이 변경되면 불리는 인터페이스. 리스트나 choice그룹 등에서 에서 선택상태가 변경되는 경우에 발생하는 이벤트를 처리하는 listener이다. public void changed(Component cmp, Object obj) ChangeListener를 설정한 Component에서 CHANGE 이벤트가 발생한 경우 불리게 된다. CheckboxComponent또는 ListComponent 등의 상태가 변경되게 되면 등록된 Listener의 changed함수가 불려 진다. 매개변수 cmp 이벤트가 발생된 Component obj setChangeListener에서 설정한 Object(확장 파라메터)

public interface CommandListener 커맨드의 선택/변경을 알려주는 인터페이스. 커맨드를 내용을 선택하거나, 커맨드의 포커스를 변경하였을 경우 알려주는 인터페이스. public static final int FOCUS_CHANGE 커맨드의 포커스가 변경된 경우의 상수이다. public static final int SELECT 커맨드를 선택한 경우의 상수이다. public void commandAction(Command c, int type, Object obj) 커맨드의 내용이 선택되었거나 커맨드의 포커스가 변경되었을 경우에 이 함수를 호출하여 준다. 매개변수 c 선택된 커맨드나 포커스를 받은 커맨드 type 커맨드 선택 시 SELECT, 커맨드 포커스 변경 시 FOCUS_CHANGE

public interface EventListener Component의 이벤트 발생을 알려주는 인터페이스. 컴포넌트에 발생되는 key, show, focus, pointer이벤트 발생시 이를 알려주는 인터페이스이다. public boolean eventNotify(int type, int arg1, int arg2, int arg3, Object obj) 컴포넌트에서 Key, Show, Focus, Pointer이벤트가 발생한 경우 이 함수를 호출한다. 매개변수 c 선택된 커맨드나 포커스를 받은 커맨드 type 발생된 이벤트의 종류를 나타낸다 (Component.KEY_NOTIFY, Component.SHOW_NOTIFY, Component.FOCUS_NOTIFY, Component.POINTER_NOTIFY) arg1 type의 값에 따라 다양하게 사용 arg2 type의 값에 따라 다양하게 사용 arg3 type의 값에 따라 다양하게 사용 obj setEventListner에서 설정한 Object

public interface GrabKeyListener Key Grab이 설정된 경우 그랩 된 키 이벤트 발생을 알려주는 인터페이스. public boolean grabKeyNotify(int type, int chr, Object obj) 컴포넌트에서 Key, Show, Focus, Pointer이벤트가 발생한 경우 이 함수를 호출하여 준다. 매개변수 c 선택된 커맨드나 포커스를 받은 커맨드 type 발생된 키 이벤트의 종류를 나타낸다 (EventQueue.KEY_RELEASED,EventQueue.KEY_RELEASED, EventQueue.KEY_REPEATED, EventQueue.KEY_TYPED) chr 발생된 키 값 obj setEventListner에서 설정한 Object