4장 컴포넌트 (I) org.kwis.msp.lwc.

Slides:



Advertisements
Similar presentations
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Advertisements

1. 기관별 맞춤형 집중교육 : 실습 및 개인별 집중지도    1. 기관별 맞춤형 집중교육 : 실습 및 개인별 집중지도 (상설) 기관별 맞춤형 교육 - 당 교육기관에서.
6장 java.applet.Applet의 네트워크 메쏘드들
14. 위피 게임: 가위바위보 게임 초기에 점수=0 처음 이기면 10 점 그 다음부터 이기면 점수=현재 점수*2 지면
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
제7장 이벤트 프로그래밍.
Chap05 상속 5.1 상속의 개요 5.2 멤버 변수의 상속 5.3 메소드의 상속과 오버라이딩(Overriding)
제14장 원격 메소드 호출 김 기 환. 조 명 휘.
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
J2ME(Java 2 Micro Edition) 무선 장치용 UI의 핵심 컴포넌트
Chap14 스윙(SWING) 14.1 스윙 컴포넌트 14.2 컴포넌트의 이벤트 처리
5장 컴포넌트 (II).
9장 AWT(1).
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
2. 자바 애플릿.
명품 JAVA Programming.
[INA470] Java Programming Youn-Hee Han
10장 객체-지향 프로그래밍 II ©창병모.
8장 자바 입출력.
7장 파일과 데이터베이스.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
객체지향 언어와 클래스, 객체 ㅎㅎ 개요 클래스의 선언, 객체의 생성 및 속성 참조 방식 멤버 변수 메소드 한빛미디어(주)
자바 5.0 프로그래밍.
고수준 사용자 인터페이스 프로그래밍 Lecture #4.
프로그래밍 언어론 제 9 장 객체 지향 개념 객체 지향 방법론 객체 모델링 객체 지향 언어 C++ 객체 지향 언어 CLOS
Java Programming Language (4)
화면(UI) 기반 도메인모델 작성 2014년 8월.
MIDP UI API.
AOP 개념 및 Spring의 AOP 기능.
실전 사운드 처리 프로그래밍 Lecture #11.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
9장 AWT(1).
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
윤 홍 란 4 장 클래스 작성 윤 홍 란
김 정 석 Web Programming 김 정 석
CHAP 6. 이벤트 처리.
상속과 인터페이스 클래스의 상속에 대하여 인터페이스에 대하여.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
2009학년도 1학기 상지대학교 컴퓨터정보공학부 고 광 만
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
12장 문자열 12.1 문자열의 개요 12.2 String 클래스 12.3 StringBuffer 클래스.
Java 8장. 상속 public class SumTest {
DataScience Lab. 박사과정 김희찬 (월)
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
어서와 Java는 처음이지! 제9장 인터페이스, 패키지.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
Chap10 다중 스레드 Section 1 : 스레드 개요 Section 2 : Thread 클래스와 스레드 생명주기
Web programming Chap 04 상속 김 정 석
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
SpringFramework 중간고사 요약 REST by SpringFramework.
Chap. 14 성능향상시키기 PS Lab. 이지연.
Java Chapter 4 ~ 주차.
컴퓨터공학실습(I) 3주 인공지능연구실.
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
JA A V W. 04.
Spring DI 이해 및 활용.
자바 5.0 프로그래밍.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
제8장 쓰레드 프로그래밍.
[ 단원 06 ] 상속과 다형성.
제 4 장 클래스 작성 Lab 4- 2.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
자바 5.0 프로그래밍.
6장 클래스(상속).
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Presentation transcript:

4장 컴포넌트 (I) org.kwis.msp.lwc

개요 Component 클래스 ContainerComponent shellComponent/formComponent LabelComponent ListComponent, ListItemComponent ButtonComponent DialogComponent checkboxComponent AnnumciatorComponent TextComponent/Textbox/Textfield

lwc 다이어그램

Component클래스 계층도 | +--org.kwis.msp.lwc.Component java.lang.Object | +--org.kwis.msp.lwc.Component Direct Known Subclasses: ButtonComponent, ComboComponent, CommandBarComponent, ContainerComponent, DateFieldComponent, ImageComponent, LabelComponent, ProgressComponent, ScrollbarComponent, TextComponent, TickerComponent public abstract class Component extends Object

Component클래스 가장 기본이 되는 화면에 보여지는 클래스 위치와 크기를 가지며, 사용자의 입력을 받아서 적절한 행동을 하는 클래스 화면에 보여지는 모든 UI 컴포넌트는 이 클래스를 상속 받아서 구현되어야 한다. Component 클래스를 상속 받은 자식 클래스들의 상위 부모 컴포넌트 상에서의 위치와 폭과 넓이를 가지며, 배경색과 컴포넌트의 특성을 가진다.

Component클래스(계속) Component클래스는 항상 상위 부모가 있어야 한다. 상위 부모가 없어도 되는 Component ShellComponent 화면에 적어도 하나 이상의 ShellComponent 가 있어야, Component가 화면에 보이게 된다. 컴포넌트는 addComponent한 후에 다른 부모 컴포넌트에 더 이상 addComponent할 수 없다.

Component 주요 필드 public static final int LAYOUT_LEFT public static final int LAYOUT_RIGHT Component의 우측 정렬 값 public static final int LAYOUT_HCENTER Component의 가운데 수평 정렬 값 public static final int LAYOUT_TOP Component의 위쪽 정렬 값. public static final int LAYOUT_BOTTOM Component의 아래쪽 정렬 값 public static final int LAYOUT_VCENTER Component의 가운데 수직 정렬 값.

Component 주요 method protected boolean keyNotify(int type, int chr) 키 입력을 받으면 호출된다. protected void showNotify(boolean bShow) 화면의 내용이 보이면 호출된다. public void repaint() 컴포넌트 전체를 갱신한다. public boolean isShown() 현재 컴포넌트가 보이는지 안 보이는지 여부를 돌려준다. public Card getCard() 현재 컴포넌트에 연결된 카드를 돌려준다. public void setEventListener(EventListener listener, Object obj) 이벤트 Listener를 등록한다.

ContainerComponent java.lang.Object | +--org.kwis.msp.lwc.Component +--org.kwis.msp.lwc.ContainerComponent Direct Known Subclasses: FormComponent, ShellComponent public abstract class ContainerComponent extends Component

ContainerComponent 다른 컴포넌트의 상위 부모 컴포넌트가 될 수 있는 컴포넌트. 자식 컴포넌트의 위치와 크기를 결정 및 포커스 관리. addComponent함수로 자식 컴포넌트로 등록. removeComponent함수로 삭제.

ContainerComponent 주요 method public void addComponent(int index, Component cmp) 자식 컴포넌트를 하나 추가한다. 지정한 위치에 cmp가 가리키는 컴포넌트를 추가한다. public int addComponent(Component cmp) 자식 컴포넌트를 하나 추가한다. public void removeComponent(Component cmp) 지정된 컴포넌트를 삭제한다. public void removeAllComponents() 모든 컴포넌트를 삭제한다.

ShellComponent public class ShellComponent extends ContainerComponent Card와의 연결을 해주며, 제목과 명령 입력 컴포넌트와 작업 컴포넌트를 가진다. UI컴포넌트를 화면에 보여주기 위해서 맨 상단에는 이 컴포넌트를 사용해야 한다. ShellComponent는 AddComponent를 통해서 하나의 작업 컴포넌트 만을 가질 수 있다.

ShellComponent 단 하나의 자식컴포넌트를 갖는 ShellComponent ShellComponent s_test=new ShellComponent(); s_test.addComponent(new ButtonComponent("딱! 하나",null)); s_test.addComponent(new ButtonComponent("Error!!!",null)); // IllegalArgumentException ShellComponent의 addComponent를 두 번 이상 호출하면 IllegalArgumentException이 발생.

FormComponent 다양한 컴포넌트를 일렬로 배열하여 화면을 구성하는 컴포넌트. FormComponent는ContainerComponent를 확장한 자식 컴포넌트. 각 컴포넌트들의 배치와 스크롤 여부를 관리.

FormComponent 자식 컴포넌트들의 포커스 이동은 상하만 동작하도록 되어 있다. UP/DOWN키를 사용하여 자식 컴포넌트들의 포커스 이동을 할 수 있다. 내부의 컴포넌트가 많으면 자동적으로 scrollbar가 생성되도록 되어 있다.

FormComponent 하나 이상의 자식 컴포넌트를 갖는 FormComponent FormComponent f_test=new FormComponent(); f_test.addComponent(new ButtomComponent(“하나”,null)); f_test.addComponent(new ButtomComponent(“둘”,null));

ShellComponent 주요 생성자 public ShellComponent() public ShellComponent(int x, int y, int w, int h) 지정한 크기로 ShellComponent를 생성한다. public ShellComponent(int x, int y, int w, int h, boolean bTrans) 지정한 크기로 생성되며 bTrans의 여부에 따라서 투명한 Shell이 될 수도 있다. 매개변수 x 컴포넌트 화면상의 위치. y 컴포넌트 화면상의 위치. w 컴포넌트 화면상에서의 폭. h 컴포넌트 화면상에서의 높이. bTrans 컴포넌트 투명 여부.

ShellComponent 주요 method public void layout() 하위 컴포넌트의 크기와 위치를 결정한다. public void repaint(int x, int y, int w, int h) 화면의 내용을 갱신할 필요가 있을 때 부른다. public void show() 컴포넌트를 화면상에 보여준다. public void hide() 컴포넌트를 감춘다. public boolean isShown() 현재 컴포넌트가 보이는지 안 보이는지 여부를 돌려준다.

ShellComponent 주요 method public void configure(int x, int y, int w, int h, int mask) 컴포넌트의 위치나 크기를 변경한다. public int getX() x축의 좌표를 돌려준다. public int getY() y축의 좌표를 돌려준다. public void showNotify(boolean b) 화면의 내용이 보이면 호출된다. public void serviceRepaints() 갱신된 내용을 즉시 화면에 출력해준다.

ShellComponent 주요 method public void addComponent(int index, Component cmp) 지정한 위치에 cmp가 가리키는 컴포넌트를 추가한다. public int addComponent(Component cmp) 자식 컴포넌트를 하나 추가한다. protected boolean processEvent(int type, int subtype, int param1, int param2) 이벤트를 처리한다. public void setTitle(Component cmp) 타이틀을 지정한다. public Component getWorkComponent() 지정된 Component 돌려준다.

ShellComponent 주요 method public void setWorkComponent(Component cmp) Component를 설정 한다 public void removeComponent(Component cmp) 지정된 컴포넌트를 삭제한다. public void setCommand(Component cmp, boolean bGrab) 커맨드를 지정한다. public void setTitle(String str) 타이틀 문자열을 지정한다. public Card getCard() 현재 컴포넌트에 연결된 카드를 돌려준다.

ShellComponent 주요 method public void grabKey(int key) 특정 키 코드를 그랩(Grab)하여 GrabKeyListener에게 보낸다. public void setGrabKeyListener(GrabKeyListener listener, Object obj) 그랩 키 Listener를 등록한다. protected boolean keyNotify(int type, int chr) 키 입력을 받으면 호출된다. protected void controlInset(boolean flag) ContainerComponent에서 사용할 테두리 두께 값을 제어한다.

FormComponent 주요 생성자 public FormComponent() 폼 컴포넌트를 생성한다. Public FormComponent(boolean bVertical) 수직 혹은 수평 폼 컴포넌트를 생성한다.

예제 예제 4.1 예제 4.2 예제 4.3

LabelComponent 문자열을 보여주는 컴포넌트. 사용자에게 보여줄 때 문자열과 이미지를 포맷팅해서 출력해 준다. LabelComponent는 setLayout(int)를 사용하여 정렬형태를 지정 할 수 있다. LabelComponent에서 사용되는 정렬형태는 Component에서 제공하는 정렬 조합 규칙을 참조하고 있다. 참고: LabelComponent생성시 기본 정렬 형태는 LAYOUT_LEFT

정렬 조합 규칙 좌우정렬: LAYOUT_LEFT LAYOUT_RIGHT LAYOUT_HCENTER 상하정렬: LAYOUT_TOP LAYOUT_BOTTOM LAYOUT_VCENTER

LabelComponent 주요 생성자 public LabelComponent() LabelCompoent를 생성한다. public LabelComponent(String str) 주어진 문자열로 LabelComponent를 생성한다. public LabelComponent(String str, Image img) 주어진 문자열과 이미지로 LabelComponent를생성한다.

LabelComponent 주요 method public void setLabel(String str) 내부 문자열을 주어진 문자열 값으로 지정한다. public void setImage(Image img) 내부 이미지를 주어진 이미지로 지정한다. public String getLabel() 내부 문자열을 가져온다. public Image getImage() 내부 이미지를 가져온다. public void setFont(Font font) 폰트를 지정한다. public Font getFont() 폰트를 얻어온다. public void setLayout(int layout) 레이블의 정렬 형태를 지정한다.

예제 예제 4.4

ListComponent/ListItemComponent ListComponent는 FormComponent를 상속하여 구현된 클래스 이 다른 ContainerComponent와는 달리 ListItemComponent만을 추가할 수 있다.

ListComponent ListItemComponent는 3가지 타입이 있다. SELECT_IMPLICIT SELECT_MULTIPLE SELECT_EXCLUSIVE

ListItemComponent의 3가지 타입 SELECT_EXCLUSIVE SELECT_IMPLICIT SELECT_MULTIPLE

ListComponent 주요 method public int append(String str, Image img) ListComponent에 주어진 이미지와 문자열로 ListItemComponent를 생성하여 추가한다. public void addComponent(int index, Component cmp) index위치에 컴포넌트를 하나 추가한다. public int addComponent(Component cmp) 맨 위에 자식 컴포넌트를 추가한다. public void setComponent(int index, Component cmp) 자식 컴포넌트를 하나 대치한다. public int insert(int index, String str, Image img) 해당 위치에 주어진 문자열과 이미지로 ListItemComponent을 생성하여 추가한다.

ListComponent 주요 method public void set(int index, String str, Image img) 해당 위치에 주어진 문자열과 이미지로 ListItemComponent을 생성 하여 새로 지정한다. public String getString(int index) 주어진 위치에 있는 ListItemComponent의 문자열을 얻어온다. public Image getImage(int index) 주어진 위치에 있는 ListItemComponent의 이미지를 얻어온다. public boolean isSelected(int index) 주어진 인덱스의 항목이 현재 선택되어 있는지의 여부를 알려준다. public int[] getSelectedIndexs() ListComponent의 항목들 중 현재 선택되어 있는 항목들의 인덱스를 얻어온다. public int getSelectedIndex() ListComponent의 항목들 중 현재 선택되어 있는 항목의 인덱스를 얻어온다.

ListComponent 주요 method public void setActionListener(ActionListener l, Object o) ListComponent에 ActionListener를 등록한다. public void setChangeListener(ChangeListener l, Object o) ListComponent에 ChangeListener를 등록한다. protected boolean keyNotify(int type, int key) 키 입력을 받으면 호출된다. public void select(int index) 주어진 위치의 항목을 선택한다. public void select(ListItemComponent cmpp) 주어진 항목의 선택상태를 변경한다.

ListComponent 주요 method public void controlNumber(boolean showImage) 번호키 컨트롤 여부를 지정한다. public boolean isControlNumber() 번호키 컨트롤 상태를 반환한다. protected Component getNextTraversalComponent() 포커스 가질 수 있는 다음 컴포넌트를 돌려준다. protected Component getPrevTraversalComponent() 포커스 가질 수 있는 이전 컴포넌트를 돌려준다.

ListItemComponent ListComponent에 추가되어 사용되는 컴포넌트 LabelComponent를 상속받아 구현한 클래스. LabelComponent와 기본 기능이 비슷하다.

ListItemComponent 주요 method public void setState(boolean bState) ListItemComponent의 선택 상태를 지정한다. public boolean getState() 현재의 선택 상태를 얻어온다.

예제 4.5

ButtonComponent 버튼 컴포넌트. "select"키가 눌렸다 떼어 졌을 때 자신에게 등록된 ActionListener를 호출한다. 버튼은 문자열과 이미지로 구성된다.

interface ActionListener public interface ActionListener public void action(Component cmp, Object obj) 버튼이나 리스트에서 action이 발생하면 불린다. 매개변수 cmp action이 발생한 컴포넌트 obj setActionListener시에 넣은 Object 인수 어떤 액션이 발생하면 불리는 인터페이스이다. 버튼과 같이 사용자가 누르는 경우에 발생하는 이벤트를 처리하는 Listener이다.

ButtonComponent 주요 method public void setActionListener(ActionListener l, Object obj) ActionListener를 등록한다. public void setFont(Font ft) 버튼의 폰트를 설정한다. public Font getFont() 폰트를 돌려준다. public boolean keyNotify(int type, int ch) 키 입력을 받으면 호출된다. public void setString(String str) 버튼의 문자열을 지정한다

ButtonComponent 주요 method public String getString() 현재 버튼의 문자열을 돌려준다. public Image getImage() 현재 버튼의 이미지를 돌려준다. public void setImage(Image img) 버튼의 이미지를 지정한다. protected void layout() 하위 컴포넌트의 크기와 위치를 결정한다.

예제 4.6

DialogComponent java.lang.Object | +--org.kwis.msp.lwc.Component +--org.kwis.msp.lwc.ContainerComponent +--org.kwis.msp.lwc.ShellComponent +--org.kwis.msp.lwc.DialogComponent public class DialogComponent extends ShellComponent 다양한 형태의 다이알로그박스를 지원하기 위해서 만들어진 컴포넌트 타이틀영역과 데이타 영역, 버튼영역으로 구성

DialogComponent의 예

DialogComponent DialogComponent에서는 기본적으로 3가지 타입을 지원. TYPE_OK 타입 TYPE_OK_CANCEL 타입 TYPE_NONE 타입 TYPE_NONE의 경우 디폴트로 3초. 이 값을 setTimeout(int)메소드를 통해 지정할 수 있다.

DialogComponent 주요 생성자 public DialogComponent(int type) 컴포넌트와 타이틀이 없고 주어진 타입을 가지는 새로운 DialogComponent를 생성. public DialogComponent(Component cmp, String title, int type) 주어진 컴포넌트, 타이틀, 타입으로 새로운 DialogComponent를 생성. public DialogComponent(Component cmp, String ttl, int type, int x, int y, int w, int h) 주어진 값으로 새로운 DialogComponent를 생성. 매개변수 cmp 대화상자의 내용을 담은 컴포넌트 혹은 null title 대화상자의 타이틀 혹은 null type 대화상자의 형태. TYPE_NONE,TYPE_OK ,TYPE_OK_CANCEL 중에서 지정 x 대화상자의 x좌표 y 대화상자의 y좌표 w 대화상자의 넓이 값 h 대화상자의 높이 값

DialogComponent 주요 필드 public static final int TYPE_NONE 버튼이 없는 형태의 다이얼로그타입. public static final int TYPE_OK OK 버튼만 있는 형태의 다이얼로그타입. public static final int TYPE_OK_CANCEL OK, CANCEL 버튼이 있는 형태의 다이얼로그타입. public static final int DLG_TIMEOUT doModal시 반환되는 값으로 TIMEOUT되어 종료된 것을 나타냄. public static final int DLG_OK doModal시 반환되는 값으로 OK버튼이 선택되었음을 나타냄.

DialogComponent 주요 필드 public static final int DLG_CANCEL doModal시 반환되는 값으로 CANCEL버튼이 선택되었음을 나타냄. public static final int OK_BUTTON OK 버튼타입. public static final int CANCEL_BUTTON CANCEL버튼타입. public static final int TIMEOUT_INFINITE timeout 값 중 무한대의 값을 나타냄. protected int actionState 현재 어떤 액션(이벤트)이 발생한 것인지를 기억하는 필드.

DialogComponent 주요 method public void setButtonString(int buttonType, String buttonStr) 버튼의 문자를 지정한다. public void setType(int type) DialogComponent의 타입을 지정한다. public void setTimeout(int timeout) DialogComponent를 화면에 보여줄 타임아웃 시간을 지정한다. public int doModal() DialogComponent를 화면에 나타나게 한다. public void show() 컴포넌트를 화면상에 보여준다. public int getActionState() DialogComponent에서 발생한 마지막 액션을 얻어온다.

예제 4.7

CheckboxComponent class CheckboxComponent extends LabelComponent 개별 선택 가능한 체크버튼과 라디오버튼을 만들기 위한 클래스 CheckboxGroup의 지정이 없이 생성되는CheckboxComponent 의 경우는 독립적인 체크박스로 동작 CheckboxGroup이 지정되는 경우 같은 CheckboxGroup으로 묶여진 CheckboxComponent들은 라디오버튼으로 동작

CheckboxComponent 사용 예

CheckboxComponent 주요 method public void setState(boolean bState) CheckboxComponent의 선택상태를 변경한다. public void paintContent(Graphics g) 내부를 칠한다. public boolean keyNotify(int type, int key) 키 입력을 받으면 호출된다. public void setChangeListener(ChangeListener listener, Object obj) CheckboxComponent에 ChangeListener를 등록 한다.

CheckboxGroup CheckboxGroup은 여러 개의 CheckboxComponent들을 역어 그룹 된 라디오버튼처럼 움직이게 한다. 하나의 CheckboxGroup으로 등록된 CheckBoxComponent들은 동시에 여러 개가 ON상태가 될 수 없으며 동시에는 하나의 CheckboxComponent만 ON될 수 있다. 그러므로 하나의 Checkbox가 ON 되면 다른 모든 Group으로 묵인 Checkbox들은 OFF 가 된다

CheckboxGroup 주요 method public void select(CheckboxComponent cb) CheckboxGroup으로 묶여 있는 CheckboxComponent중에 주어진 컴포넌트를 ON상태로 한다. public CheckboxComponent getSelectedCheckbox() 이 CheckboxGroup에 등록된 Checkbox중 현재 ON 상태인 CheckboxComponent를 구한다. public void setChangeListener(ChangeListener listener, Object obj) CheckboxGroup에 ChangeListener를 등록 한다.

예제 4.8

AnnunciatorComponent public class AnnunciatorComponent extends ShellComponent 사용자에게 전파 세기와 배터리 사용 용량을 화면에 보여주는 클래스. 이 클래스는 능동적으로 내부 값이 바뀌면 화면의 내용도 바뀐다.

AnnunciatorComponent 주요 method public void addComponent(int idx, Component cmp) 자식 컴포넌트를 하나 추가한다. public void removeComponent(Component cmp) 지정된 컴포넌트를 삭제한다.. public void layout() 하위 컴포넌트의 크기와 위치를 결정한다. public void show() 컴포넌트를 화면상에 보여준다. protected void paint(Graphics g) 그래픽스 g를 가지고 컨테이너 컴포넌트를 그린다.

예제 4.9

TextComponent/TextBoxComponent/TextFieldComponent java.lang.Object | +--org.kwis.msp.lwc.Component +--org.kwis.msp.lwc.TextComponent Direct Known Subclasses: TextBoxComponent, TextFieldComponent public abstract class TextComponent extends Component

TextComponent 텍스트 출력 및 입력 수정 삭제를 위한 추상 클래스

TextComponent 입력 제한자 CONSTRAINT_NUMBER CONSTRAINT_PASSWORD '-',' '와 숫자입력만을 허용한다. CONSTRAINT_PASSWORD 암호입력을 위한 입력 형태로 내부적으로 사용되는 문자열은 숫자만을 허용한다. CONSTRAINT_EMAILADDRESS 이메일 주소 입력을 위한 입력 제한자이다. CONSTRAINT_URL URL입력을 위한 입력 제한자이다. CONSTRAINT_PHONENUMBER 전화번호입력을 위한 입력 제한자이다. CONSTRAINT_ANY 모든 문자열을 입력할 수 있는 입력 제한자이다.

TextBoxComponent TextBoxComponent는 TextComponent를 상속한 클래스로 정해진 넓이에 맞도록 문자를 편집 할 수 있다. 이 컴포넌트의 넓이는 이 컴포넌트를 추가한 ContainerComponent의 넓이와 같으며, 넓이는 입력한 문자 데이터에 맞도록 자동 변경된다. 기본적으로 최대 입력 가능한 문자열에 대한 제한은 하지 않으며, 필요하다면 TextComponent.setMaxLength(int maxLen)를 통해서 최대 입력 가능한 문자 수를 제한 할 수 있다.

TextBoxComponent 주요 method public void setString(String data) 문자 데이터를 지정한다. public void insert(char[] data, int offset, int len, int index) 현재 화면에 출력된 문자 데이터에서 인자로 주어진 문자 데이터를 index 위치에 추가한다. public void delete(int index, int len) 현재 화면에 보여지고 있는 문자데이터의 index위치에서부터 len길이만큼 삭제한다. public int getPreferredWidth() 컴포넌트의 적절한 폭을 결정한다. public int getPreferredHeight(int w) 컴포넌트의 적절한 높이를 결정한다.

TextBoxComponent 주요 method public int getPreferredHeight() 컴포넌트의 적절한 높이를 결정한다. public void configure(int x, int y, int w, int h, int mask) 컴포넌트의 위치나 크기를 변경한다. public boolean keyNotify(int type, int key) 키 입력을 받으면 호출된다. public void setFont(Font f) 폰트를 지정한다. public void paintContent(Graphics g) 내부를 칠한다.

TextFieldComponent TextFieldComponent는 TextComponent를 상속한 클래스로 한 라인에서 문자 편집을 한다. 이 컴포넌트의 넓이는 입력된 문자에 맞도록 자동으로 변경된다. 기본적으로 최대 입력 가능한 문자열에 대한 제한은 하지 않는다. TextComponent.setMaxLength(int maxLen)를 통해서 최대 입력 가능한 문자 수를 제한 할 수 있다.

TextFieldComponent 주요 method public void insert(char[] data, int offset, int len, int index) 현재 화면에 출력된 문자 데이터에서 인자로 주어진 문자 데이터를 index 위치에 추가한다. public void delete(int index, int len) 현재 화면에 보여지고 있는 문자데이터의 index위치에서부터 len길이만큼 데이터를 삭제한다. public int getPreferredWidth() 컴포넌트의 적절한 폭을 결정한다. public int getPreferredHeight() 컴포넌트의 적절한 높이를 결정한다. public void paintContent(Graphics g) 내부를 칠한다. public boolean keyNotify(int type, int key) 키 입력을 받으면 호출된다.

예제 4-10 예제 4-11