|
-bottom | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--mmpp.microedition.lcdui.TextFieldX
TextFieldX는 편집 가능한 text component로 Canvas에
위치 할 수 있다. 초기값으로는 특정 문자열을 가질 수 있다.
TextField에서 빌려왔으며
기본 사용법은 거의 비슷하다.
TextFieldX는 가질 수 있는 문자열의 최대 길이를 가지고 있으며 이 제한은 유저가 입력을 하거나 TextFieldX의 내용을 바꾸는 함수를 호출 할 때 등 언제나 적용된다. 이 최대 길이는 한 순간에 화면에 보여지는 문자열의 크기와는 상관이 없다. 한 순간에 화면에 보여지는 문자열의 크기는 row와 TextFieldX의 width에 의해서 결정된다.
구현상 문자열의 최대 크기에는 제한이 있을 수 있으며, 최대 크기는
application이 요청한 것보다 작을 수 있다. 실제 적용된 최대 크기는
getMaxSize()로 확인할 수 있다. 잘 짜여진 application은
이 값을 비교하여 요청한 값과 다른 경우를 처리해야 한다.
TextFieldX은 input constraints 를 TextBox와
공유한다. 다른 constratins는 application이 유저의 입력을 여러 방법으로
제한할 수 있도록 한다. 그리고 TextFieldX는 application이 요청한 제한에 따라서
사용자의 입력을 제한해야 한다. 예를 들어 application이 TextFieldX에 NUMERIC제한을
두었다면 TextFieldX는 숫자만 입력이 가능하도록 하여야 한다.
| Field Summary | |
protected mmpp.microedition.lcdui.ET |
eT
|
static int |
IM_KOREAN
한글 입력 모드 |
static int |
IM_NONE
입력 상태가 지정되지 않음을 뜻하며 어떤 입력도 불가능하다. |
static int |
IM_NUMERIC
숫자 입력 모드 |
static int |
IM_ROMAN_CAPS
영문 대문자 입력 모드 |
static int |
IM_ROMAN_SMALL
영문 소문자 입력 모드 |
static int |
IM_SYMBOL
심볼 입력 모드 |
| Constructor Summary | |
TextFieldX(java.lang.String label,
java.lang.String text,
int maxSize,
int constraints)
새로운 TextFieldX를 label, 초기값, 입력가능 글자수 그리고 constraints로 생성한다. |
|
| Method Summary | |
void |
delete(int offset,
int length)
TextFieldX에서 문자들을 지운다. |
int |
getCaretPosition()
현재 입력 위치를 구한다. |
int |
getChars(char[] data)
TextFieldX의 내용을 character array의 시작부터로 카피한다. |
int |
getConstraints()
현재 input constraints를 구한다. |
javax.microedition.lcdui.Font |
getFont()
TextFieldX에서 사용하는 font를 구한다. |
int |
getHeight()
TextFieldX의 높이를 구한다. |
int |
getInputMode()
TextFieldX의 현재 입력 모드를 얻어온다. |
int |
getMaxRow()
TextFieldX에서 보여주는 행 수를 구한다. |
int |
getMaxSize()
TextFieldX이 가질 수 있는 문자열의 최대 길이를 구한다. |
javax.microedition.lcdui.Canvas |
getOwner()
TextFieldX가 그려지는 Canvas를 얻는다. |
java.lang.String |
getString()
현재 TextFieldX의 내용을 구한다. |
int |
getWidth()
TextFieldX의 폭 크기를 구한다. |
boolean |
hasFocus()
TextFieldX가 focus를 가지고 있는가를 얻어낸다. |
void |
insert(char[] data,
int offset,
int length,
int position)
Array의 일부 문자열을 TextFieldX의 내용에 삽입한다. offset과 length가 data array에서 삽입될 문자열을 지정하게 된다. |
void |
insert(java.lang.String src,
int position)
문자열을 TextFieldX의 내용에 삽입한다. |
void |
keyPressed(int keyCode)
key가 눌렸을 때 불리운다. Focus가 안 되어 있으면 아무일도 하지 않는다. |
void |
keyReleased(int keyCode)
키가 놓여질 때 불리운다. |
void |
keyRepeated(int keyCode)
키가 지속적으로 눌렸을 때 불리운다. |
int |
nextInputMode()
TextFieldX의 입력 모드를 다음 모드로 바꾼다. |
void |
paint(javax.microedition.lcdui.Graphics g)
TextFieldX를 그린다. |
void |
setChars(char[] data,
int offset,
int length)
character array에 있는 값으로 TextFieldX의 내용을 새로이 정한다. |
void |
setConstraints(int constraints)
새로운 input constraints를 정한다. |
void |
setFocus(boolean newFocus)
TextFieldX의 focus를 정한다. |
void |
setFont(javax.microedition.lcdui.Font newFont)
TextFieldX에서 사용할 font를 정한다. |
void |
setMaxRow(int maxRow)
TextFieldX에서 보여주는 행 수를 정한다. |
int |
setMaxSize(int maxSize)
TextFieldX가 가질 수 있는 문자열의 최대 길이를 정한다. |
void |
setOwner(javax.microedition.lcdui.Canvas owner)
TextFieldX가 그려질 Canvas를 지정한다 |
void |
setString(java.lang.String text)
TextFieldX의 내용을 새로운 내용으로 바꾼다. |
void |
setWidth(int width)
TextFieldX의 폭 값을 정한다. |
int |
size()
현재 TextFieldX의 문자열의 길이를 구한다. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final int IM_NONE
public static final int IM_ROMAN_CAPS
public static final int IM_ROMAN_SMALL
public static final int IM_NUMERIC
public static final int IM_SYMBOL
public static final int IM_KOREAN
protected mmpp.microedition.lcdui.ET eT
| Constructor Detail |
public TextFieldX(java.lang.String label,
java.lang.String text,
int maxSize,
int constraints)
label - TextFieldX의 labeltext - 초기 값, null이면 빈 공란으로 표시된다.maxSize - 최대 입력가능 글자 수constraints - see input constraintsjava.lang.IllegalArgumentException - maxSize가 0보다 같거나 작을 때java.lang.IllegalArgumentException - constraints가 유효한 값이 아닐 때java.lang.IllegalArgumentException - text가 constraints에 맞지 않을 때java.lang.IllegalArgumentException - text의 길이가 maxSize를 초과할 때| Method Detail |
public void setOwner(javax.microedition.lcdui.Canvas owner)
owner - 이 TextFieldX를 소유하게 될 Canvaspublic javax.microedition.lcdui.Canvas getOwner()
public int getWidth()
public void setWidth(int width)
width - TextFieldX의 폭java.lang.IllegalArgumentException - width가 0보다 같거나 작은 경우public int getHeight()
public int getMaxRow()
public void setMaxRow(int maxRow)
maxRow - TextFieldX에서 보여줄 행 수java.lang.IllegalArgumentException - maxRow가 0보다 같거나 작은 경우public javax.microedition.lcdui.Font getFont()
public void setFont(javax.microedition.lcdui.Font newFont)
font - TextFieldX에서 사용할 fontpublic int nextInputMode()
public int getInputMode()
public java.lang.String getString()
public void setString(java.lang.String text)
text - TextFieldX에 새로이 들어갈 내용java.lang.IllegalArgumentException - text가 현재
input constraints에 맞지 않을 경우java.lang.IllegalArgumentException - text의 길이가 TextFieldX가 자길 수 있는
길이보다 큰 경우public int getChars(char[] data)
data - 내용이 카피될 character arrayArrayIndexOutOfBoundsException - data의 길이가 TextFiedlX의
내용보다 짧은경우
public void setChars(char[] data,
int offset,
int length)
data array에서 offset위치 부터
length의 수 만큼의 내용으로 된다.
만일 data array가 null이면 TextFieldX의 내용은 빈 것이 된다.
이 때에는 다른 parameter는 무시된다.data - 새로운 내용을 읽어올 character arrayoffset - 새로운 내용의 array에서의 시작 위치length - 새로운 내용의 글자 수ArrayIndexOutOfBoundsException - 만일 offset과 length가 data
array의 범위를 벗어나는 경우java.lang.IllegalArgumentException - 만일 새로운 내용인 현재
input constraints에 맞지 않는 경우java.lang.IllegalArgumentException - 새로운 내용의 길이가 TextFieldX이
가질 수 있는 최대 길이보다 긴 경우
public void insert(java.lang.String src,
int position)
문자열을 TextFieldX의 내용에 삽입한다. 문자열은 position
로 지정된 위치 바로 앞에 삽입된다. position값은 0이면 첫 글자를 뜻한다.
만약 position이 0보다 같거나 작으면, 현재 내용의 가장 앞에 문자열이
삽입된다. 만일 position가 현재 내용의 길이보다 같거나
크다면, 현재 내용의 가장 뒤에 붙어서 삽입될 것이다.
내용의 크기는 삽입된 문자들의 숫자만큼 증가할 것이다. 그리고 그 결과 생성된 내용은 TextFieldX의 최대 용량보다 크면 안된다.
만일 application이 글자를 입력하는 것을 표현하고 싶다면, 현재 입력
커서의 위치를 getCaretPosition()를
통해서 얻을 수 있다.
예를 들면
text.insert(s, text.getCaretPosition()) 와 같은 코드는
문자열을 커서 위치에 삽입하게 된다.
src - 삽입될 Stringposition - 문자열이 삽입될 위치java.lang.IllegalArgumentException - 새로운 내용이 현재의
input constraints과 맞지 않을 경우java.lang.IllegalArgumentException - 문자열이 삽입된 결과 TextFieldX가
가질 수 있는 최대 길이보다 긴 경우
public void insert(char[] data,
DD>臾몄