본문으로 건너뛰기

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종류시그니처설명
setTextMethodsetText(text): void텍스트 설정(화면 반영)
requestFocusMethodrequestFocus(): void이 필드로 키보드 포커스 이동
getTextMethodgetText(): string현재 텍스트 반환
getTextWidthMethodgetTextWidth(includePadding, useHint?): number현재 텍스트의 렌더 폭(px) 측정
textPropertystring (읽기/쓰기)필드의 텍스트
onTapEventonTap = () => { ... }필드를 탭했을 때
onChangedEventonChanged = (value) => { ... }텍스트가 바뀔 때마다(매 글자 입력 포함)
onTabKeyEventonTabKey = () => { ... }Tab 키 입력 시
onSubmittedEventonSubmitted = (value) => { ... }제출(Enter/액션 버튼) 시
onEditingCompleteEventonEditingComplete = () => { ... }편집 완료 시(포커스 해제 전)
onFocusOutEventonFocusOut = () => { ... }포커스를 잃을 때

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 레퍼런스를 참고하세요.