Sookmyung Women’s Univ. PSLAB Moon, Se won

Slides:



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

일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Chapter04 캔버스(2) HTML5 Programming.
CHAP 22. 블루투스.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
CHAP 19. 구글맵.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
최윤정 Java 프로그래밍 클래스 상속 최윤정
MIDP UI ps lab 김윤경.
모바일 자바 프로그래밍 MIDlet 프로그래밍 Pslab 오민경.
J2ME(Java 2 Micro Edition) 무선 장치용 UI의 핵심 컴포넌트
5장 컴포넌트 (II).
Chapter 13 GUI 프로그래밍 01 GUI 화면 구성 02 GUI 이벤트 처리 03 GUI 메뉴와 툴바 예제 모음 요약
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
고수준 사용자 인터페이스 프로그래밍 Lecture #4.
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
MIDP UI API.
7주차 Android Application.
모바일 자바 프로그래밍 MIDP 이벤트 & 그래픽 Ps lab 오민경.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
저수준 사용자 인터페이스 프로그래밍 Lecture #6.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
Power Java 제14장 배치 관리자.
자바 5.0 프로그래밍.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
7장 인터페이스와 추상 클래스.
JAVA Canvas Swing.
Method & library.
자바응용.
인터넷응용프로그래밍 JavaScript(Intro).
CHAP 13. 방명록 만들기 실습.
비주얼 프로그래밍 1분반 화/목.
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
MIDP-MOBILE INFORMANTION DEVICE PROFILE
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
JA A V W. 06.
CHAP 21. 전화, SMS, 주소록.
객체기반 SW설계 팀활동지 4.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
05. 그래픽 빨간색 사각형 그리기 그래픽 그리기 발 표 자 : 07 정 경 오.
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
MIDP 네트워크 프로그래밍 ps lab 김윤경.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
제 4 장 Record.
JSP Programming with a Workbook
Power Java 제14장 배치 관리자.
2011학년도 졸업작품 주제 발표 -카메라 기반 제스처 인식 UI-
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
CHAP 5. 메뉴와 대화상자.
Wireless Java Programming
BoardGame 보드게임 따라가기.
Presentation transcript:

Sookmyung Women’s Univ. PSLAB Moon, Se won MIDP User Interface Sookmyung Women’s Univ. PSLAB Moon, Se won

INDEX 1. UI API 구조 2. UI High-Level API 3. UI Low-Level API

1. UI API 구조 I MIDP UI API 기본 상속도 Displayable Canvas Screen Displayable은 표현할 정보를 가지고 있고 display객체는 어떤 displayable객체를 사용자에게 보여줄 것인지 제어 Javax.microedition.lcdui 패키지에서 사용자 인터페이스를 구성하기 위한 api 주어짐 Displayable Canvas Screen Low-Level API High-Level API

1. UI API 구조 II High-Level API Low-Level API - 화면 전체에 대해서 동작 J2SE의 AWT 기능은 임시적인 객체를 매우 많이 생성하여 메모리 사용량과 쓰레기 수집기에 상당한 부하를 주기 때문에 MIDP에선 대부분의 기능들을 포기하였으나 플랫폼에 상관없이 지원할 수 있도록 API를 나눈다. High-Level API - 화면 전체에 대해서 동작 - 입출력에 대한 직접적인 개입이 불가능 - 추상적인 이벤트만 제공 Low-Level API - 자유로운 입출력 - 키 입력 이벤트를 직접 처리 - 출력의 경우 Graphics 객체를 이용하여 직접 화면을 그릴 수 있 도록 정의 - 자유로운 표현이 가능하나 처음부터 끝까지 직접 구현 제한된 특성을 가짐으로써 휴대폰 사양에 관계 없이 완벽한 이식성을 제공하고 추상화된 컴포넌트만 제공함으로써 벤더별로 고수준 API 구현이 가볍고 빠르게 동작하게 되었다.

2. UI High-Level API Alert List Screen Item Form TextBox ChoiceGroup TextField List DateField Screen Item Gauge TextBox 1- N ImageItem Form StringItem 고수준 API는 미리 쓰임새를 정의해 둔 몇 개의 추상화 된 컴포넌트 를 제공 Screen class를 기반으로 제목과 티커를 액세스할 수 있는 메소드를 제공받는다.

다음 화면으로 넘어가기 전 일정시간 동안 기다리도록 정의되어 있는 screen의 서브 클래스 2.1 Alert 다음 화면으로 넘어가기 전 일정시간 동안 기다리도록 정의되어 있는 screen의 서브 클래스 Constructor - Alert(String title) - Alert(String title, String text, Image image, AlertType type) alert.setTimeout(5000) or alert.setTimeout(Alert.FOREVER) Display.setCurrent(Alert alert, Displayable nextDisplayable) AlertType - ALRAM, CONFIRMATION, ERROR, INFO, WARNING

2.2 List Constructor Display.setCurrent(list) List.SELECT_COMMEND implicit 유형일 경우 선택한 원소가 변경되었을 때 select-command이벤트 발생 Exclusive는 원소에 커서를 두고 버튼을 클릭시 해당 원소를 선택된 원소로 설정 Implicit은 원소에 커서를 두고 버튼을 클릭시 command이벤트를 발생시켜 애플리 케이션에게 알려준다 Multiple은 원소에 대한 선택 여부 설정 2.2 List Constructor - List(String title) - List(String title, ListType t, String[] s_elements, Image[] i_elements) Display.setCurrent(list) List.SELECT_COMMEND getSelectedFlags() & getSelectedIndex() Type - EXCLUSIVE, IMPLICIT, MULTIPLE

2.3 TextBox Constructor - TextBox(String title, String text, int maxSize, int constraints) Method - int getMaxSize(), int setMaxSize() - void delete(int offset, int length) - void insert(char[] data, int offset, int length, int position) - void insert(String src, int position) - void setChars(char[] data, int offset, int length) - void setString(String text) Constraint(입력 제약 조건) ANY, EMAILADDR,NUMBERIC,PHONENUMBER, PASSWORD,URL

2.4 Form Constructor Item class에서 상속 받은 컴포넌트를 자유롭게 배치 Method 아이템에서 발생하는 이벤트를 받아 처리하는 ItemStateListener를 지정하기 위한 메소드.. 이벤트가 발생하며 ItemStateListener의 itemStateChanged 해당 이벤트 처리 현재 등록된 아이템의 개수를 얻는다. 2.4 Form Constructor Form(String title) Form(String title, Item[] items) Item class에서 상속 받은 컴포넌트를 자유롭게 배치 Method append(Item item) delete(int itemNumber), insert(int itemNum, Item item) get(int itemNum), set(int itemNum, Item item) setItemStateListener(ItemStateListener iListener) size()

성능향상을 위해 클래스와 객체 수를 줄이기 위하여 입력 이벤트도 리스너를 통하지 않고 직접 메소드 오버라이딩으로 처리 3.1 UI Low-Level API Canvas 추상 class를 기반 -> method를 상속 받아 overriding Graphics 객체를 사용하여 출력 성능향상을 위해 클래스와 객체 수를 줄이기 위하여 입력 이벤트도 리스너를 통하지 않고 직접 메소드 오버라이딩으로 처리

3.2 Canvas class 필드, 메소드 이름 설 명 KEY_NUM0~9, KEY_STAR, KEY_POUND * 필드, 메소드 이름 설 명 KEY_NUM0~9, KEY_STAR, KEY_POUND ITU_T 표준 키패드의 키에 따른 코드 정의 UP,DOWN,LEFT, RIGHT,FIRE,GAME_A~D 게임에서 필요로 하는 각 액션들에 정의된 상수 getGameAction(), getKeyCode() 키 코드와 게임 액션을 대응시키기 위한 함수 getHeigth(),getWidth(),getKeyName() isDoubleBuffered(),hasRepeatEvents() hasPointerEvents(),hasPointerMotionEvents() Canvas의 크기, 키 이름, 더블버퍼링 여부, 키 입력 반복 이벤트 가능 여부, 포인터 장치 여부, 포인터 움직임 이벤트 가능 여부 등의 플랫폼에 대한 정보를 전달합니다. keyPressed(),keyReleased(),keyRepeated() 키 이벤트 발생시 호출되는 메소드 Pointerdragged(),ponterpressed(), pointerReleased() 포인터 클릭 및 움직임 이벤트 발생시 호출되는 메소드 Paint() 화면 출력 요청 이벤트 발생시 호출되는 메소드 epaint(), serviceRepaints() r화면을 다시 출력하도록 요청하는 메소드 showNotify(),hideNotify(),isShown() 화면 출력 시작 또는 중지될 때 호출되는 메소드 현재 출력 상태를 알려주는 메소드 addCommand(),removeCommand(), setCommandListener() Command 이벤트 관련 메소드

3.2 Graphics class I 좌표관련 - translate(int x, int y), getTranslateX(), getTranslateY() 색상관련 - getBlueComponent(), getGreenComponent(), getRedComponent() - setColor(int RGB), setColor(int red, int green, int blue) - getColor(), getGrayScale(), setGrayScale(int value) 선 그리기 관련 - SOLID, DOTTED - setStrokeStyle(int style), getStrokeStyle() 도형 그리기 관련 - drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) - drawLine(int x1, int y1, int x2, int y2) - drawRect(int x, int y, int width, int height)….

3.2 Graphics class II 문자열 및 이미지 출력 관련 - HCENTER, LEFT, RIGHT, BASELINE, BOTTOM, TOP, VCENTER - FACE_MONOSPACE, SIZE_LAFGE, STYLE_BOLD…… - drawChar(char c, int x, int y, int anchor) - drawChars(char data[], int offset, int length, int x, int y, int anchor) - drawString(String str, int x, int y, int anchor) - drawString(String str, int offset, int length, int x, int y, int anchor) - drawImage(Image img, int x, int y, int anchor) - charsWidth(char[] ch, int offset, int length) - charsWidth(char ch) - stringWidth(String str) - substringWidth(String str, int offset, int length)

3.3 Example 결과 화면