TextField (텍스트필드) Widget Control
예제 파일: 07_Work_with_Widgets/textfield_objet.lfp
TextField(텍스트필드) 위젯을 스크립트에서 제어할 때 사용하는 Widget Control(Property · Method · Event) 목록입니다. 위젯 소개와 사용법은 TextField 문서를 참고하세요.
아래 예시의 textfieldID는 캔버스에서 TextField 위젯에 지정한 이름(ID)입니다. 스크립트에서는 위젯ID.멤버 형태로 접근합니다.
Widget Control 요약
| Widget Control | 종류 | 시그니처 | 설명 |
|---|---|---|---|
setText | Method | setText(text): void | 텍스트 설정(화면 반영) |
requestFocus | Method | requestFocus(): void | 이 필드로 키보드 포커스 이동 |
getText | Method | getText(): string | 현재 텍스트 반환 |
getTextWidth | Method | getTextWidth(includePadding, useHint?): number | 현재 텍스트의 렌더 폭(px) 측정 |
text | Property | string (읽기/쓰기) | 필드의 텍스트 |
onTap | Event | onTap = () => { ... } | 필드를 탭했을 때 |
onChanged | Event | onChanged = (value) => { ... } | 텍스트가 바뀔 때마다(매 글자 입력 포함) |
onTabKey | Event | onTabKey = () => { ... } | Tab 키 입력 시 |
onSubmitted | Event | onSubmitted = (value) => { ... } | 제출(Enter/액션 버튼) 시 |
onEditingComplete | Event | onEditingComplete = () => { ... } | 편집 완료 시(포커스 해제 전) |
onFocusOut | Event | onFocusOut = () => { ... } | 포커스를 잃을 때 |
Property
text
필드에 입력된 텍스트입니다. 읽기와 쓰기가 모두 가능하며, 값이 없으면 읽을 때 빈 문자열('')을 반환합니다.
- 타입:
string - 접근: 읽기 / 쓰기
Example
textfieldID.text = "안녕하세요";
const t = textfieldID.text;
Method
setText
필드의 텍스트를 설정하고 화면에 반영합니다.
- Parameters
text(string): 설정할 텍스트
- Returns: 없음 (
void)
Example
textfieldID.setText("hello");
getText
현재 텍스트를 반환합니다. 값이 없으면 빈 문자열을 반환합니다.
- Parameters: 없음
- Returns:
string- 현재 텍스트(없으면'')
Example
const t = textfieldID.getText();
getTextWidth
현재 텍스트를 필드의 글꼴 스타일로 렌더링했을 때의 픽셀 폭을 측정합니다. 내용에 맞춰 필드 크기를 조정할 때 유용합니다.
- Parameters
includePadding(boolean): 참이면 꾸밈(decoration)의 가로 내부 여백을 더함(여백 미설정 시 24 사용)useHint(boolean, 기본false): 참이면 입력 텍스트 대신 힌트 텍스트/스타일을 측정
- Returns:
number- 텍스트 폭(px)
Example
const w = textfieldID.getTextWidth(true);
requestFocus
해당 텍스트필드로 키보드 포커스를 강제로 부여합니다. 이벤트에 따라 텍스트필드에 즉각적인 포커스를 주어야 하는 상황에 사용합니다.
- Parameters: 없음
- Returns: 없음 (
void)
Example
textfieldID.requestFocus();
Event
onChanged
텍스트가 바뀔 때마다(매 글자 입력 포함) 실행됩니다.
- 핸들러 인자:
value(string) - 바뀜 후의 텍스트 - Returns: 없음
Example
textfieldID.onChanged = (value) => {
// value: 바뀜 텍스트
};
onEditingComplete
편집이 완료될 때(예: 키보드 Enter키 누름) 포커스가 해제되기 전에 실행됩니다.
- 핸들러 인자: 없음
- Returns: 없음
Example
textfieldID.onEditingComplete = () => { /* ... */ };
onSubmitted
사용자가 필드를 제출할 때(예: Enter/키보드 액션 버튼) 실행됩니다.
- 핸들러 인자:
value(string) - 제출된 텍스트 - Returns: 없음
Example
textfieldID.onSubmitted = (value) => { /* ... */ };
onTap
필드를 탭했을 때 실행됩니다.
- 핸들러 인자: 없음
- Returns: 없음
Example
textfieldID.onTap = () => { /* ... */ };
onFocusOut
필드가 키보드 포커스를 잃을 때 실행됩니다.
- 핸들러 인자: 없음
- Returns: 없음
Example
textfieldID.onFocusOut = () => { /* ... */ };
onTabKey
Tab 키를 입력했을 때 실행됩니다.
- 핸들러 인자: 없음
- Returns: 없음
Example
textfieldID.onTabKey = () => { /* ... */ };
공통 Widget Control (모든 위젯)
모든 위젯은 setProperty(name, value) / getProperty(name) / setStyleProperty(styleName, styleProperty, value) 같은 공통 Widget Control(Method)도 사용할 수 있습니다. 자세한 규칙은 공통 Widget Control 레퍼런스를 참고하세요.