패키지 | flash.text |
클래스 | public class TextField |
상속 | TextField InteractiveObject DisplayObject EventDispatcher Object |
하위 클래스 | FlexTextField |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
동적으로 텍스트 필드를 만들려면 TextField()
생성자를 사용합니다.
TextField 클래스의 메서드를 사용하면 제작 시나 런타임에 만든 동적 또는 입력 텍스트 필드의 텍스트를 설정, 선택 및 조작할 수 있습니다.
ActionScript를 사용하여 여러 가지 방법으로 런타임에 텍스트 서식을 지정할 수 있습니다. TextFormat 클래스로 TextField 객체의 문자 및 단락 서식을 설정할 수 있습니다. TextField.styleSheet
속성과 StyleSheet 클래스를 사용하여 텍스트 필드에 CSS(Cascading Style Sheet) 스타일을 적용할 수 있습니다. CSS로 내장 HTML 태그 스타일을 지정하거나, 새 서식 태그를 정의하거나, 스타일을 적용할 수 있습니다. CSS 스타일을 선택적으로 사용할 수 있는 HTML 형식의 텍스트를 텍스트 필드에 직접 할당할 수 있습니다. 텍스트 필드에 할당하는 HTML 텍스트에는 동영상 클립, SWF 파일, GIF 파일, PNG 파일, JPEG 파일 등의 포함된 미디어를 넣을 수 있습니다. 텍스트는 포함된 미디어 주위를 둘러싸는 방식으로 배치됩니다. 이는 웹 브라우저에서 HTML 문서에 포함된 미디어 주위로 텍스트가 배치되는 것과 동일한 방식입니다.
Flash Player에서는 텍스트 서식 지정에 사용할 수 있는 HTML 태그 중 일부를 지원합니다. 지원되는 HTML 태그의 목록은 htmlText
속성 설명을 참조하십시오.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
이 InteractiveObject 인스턴스에 대한 현재 액세스 가능성 구현(AccessibilityImplementation)입니다. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
이 표시 객체의 현재 액세스 가능성 옵션입니다. | DisplayObject | ||
alpha : Number
지정된 객체의 알파 투명도 값을 나타냅니다. | DisplayObject | ||
alwaysShowSelection : Boolean
true로 설정하면 텍스트 필드에 포커스가 없는 경우 Flash Player에서 텍스트 필드의 선택 영역이 회색으로 강조 표시됩니다. | TextField | ||
antiAliasType : String
이 텍스트 필드에 사용되는 앤티앨리어싱 유형입니다. | TextField | ||
autoSize : String
텍스트 필드의 자동 크기 조절 및 정렬을 제어합니다. | TextField | ||
background : Boolean
텍스트 필드에 배경 칠이 있는지 여부를 지정합니다. | TextField | ||
backgroundColor : uint
텍스트 필드의 배경색입니다. | TextField | ||
blendMode : String
사용할 블렌드 모드를 지정하는 BlendMode 클래스 값입니다. | DisplayObject | ||
blendShader : Shader [쓰기 전용]
전경 및 배경을 블렌딩하는 데 사용되는 셰이더를 설정합니다. | DisplayObject | ||
border : Boolean
텍스트 필드에 테두리가 있는지 여부를 지정합니다. | TextField | ||
borderColor : uint
텍스트 필드의 테두리 색상입니다. | TextField | ||
bottomScrollV : int [읽기 전용]
지정된 텍스트 필드에서 현재 맨 아래에 표시되는 행을 나타내는 정수 인덱스(1부터 시작)입니다. | TextField | ||
cacheAsBitmap : Boolean
true로 설정된 경우 Flash 런타임은 표시 객체의 내부 비트맵 표현을 캐시합니다. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
null이 아닌 경우 이 Matrix 객체는 cacheAsBitmap이 true로 설정될 때 표시 객체가 렌더링되는 방법을 정의합니다. | DisplayObject | ||
caretIndex : int [읽기 전용]
삽입점(캐럿) 위치의 인덱스입니다. | TextField | ||
condenseWhite : Boolean
HTML 텍스트가 있는 텍스트 필드에서 공백 문자, 줄 바꿈 등의 불필요한 공백을 제거할지 여부를 지정하는 부울 값입니다. | TextField | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
contextMenu : NativeMenu
이 객체에 연결된 컨텍스트 메뉴를 지정합니다. | InteractiveObject | ||
defaultTextFormat : flash.text:TextFormat
replaceSelectedText() 메서드로 삽입한 텍스트 또는 사용자가 입력한 텍스트 등 새로 삽입되는 텍스트에 적용할 서식을 지정합니다. | TextField | ||
displayAsPassword : Boolean
텍스트 필드가 암호 텍스트 필드인지 여부를 지정합니다. | TextField | ||
doubleClickEnabled : Boolean
이 객체에서 doubleClick 이벤트를 받을지 여부를 지정합니다. | InteractiveObject | ||
embedFonts : Boolean
포함된 글꼴 외곽선을 사용하여 렌더링할지 여부를 지정합니다. | TextField | ||
filters : Array
현재 표시 객체와 연관된 각 필터 객체가 들어 있는 인덱싱된 배열입니다. | DisplayObject | ||
focusRect : Object
이 객체에서 포커스 사각형을 표시할지 여부를 지정합니다. | InteractiveObject | ||
gridFitType : String
이 텍스트 필드에 사용되는 격자 맞춤의 유형입니다. | TextField | ||
height : Number
표시 객체의 높이를 픽셀 단위로 나타냅니다. | DisplayObject | ||
htmlText : String
텍스트 필드 내용의 HTML 표현이 들어 있습니다. | TextField | ||
length : int [읽기 전용]
텍스트 필드의 문자 수입니다. | TextField | ||
loaderInfo : LoaderInfo [읽기 전용]
이 표시 객체가 속한 파일의 로딩 정보가 포함된 LoaderInfo 객체를 반환합니다. | DisplayObject | ||
mask : DisplayObject
호출하는 표시 객체는 지정된 mask 객체에 의해 마스크 처리됩니다. | DisplayObject | ||
maxChars : int
사용자가 입력하여 텍스트 필드에 포함될 수 있는 최대 문자 수입니다. | TextField | ||
maxScrollH : int [읽기 전용]
scrollH의 최대값입니다. | TextField | ||
maxScrollV : int [읽기 전용]
scrollV의 최대값입니다. | TextField | ||
metaData : Object
PlaceObject4 태그를 통해 SWF 파일에 해당 DisplayObject의 인스턴스와 함께 메타데이터가 저장된 경우 DisplayObject 인스턴스의 메타데이터 객체를 가져옵니다. | DisplayObject | ||
mouseEnabled : Boolean
이 객체가 마우스 또는 기타 사용자 입력, 메시지를 수신할지 여부를 지정합니다. | InteractiveObject | ||
mouseWheelEnabled : Boolean
사용자가 텍스트 필드를 클릭하고 마우스 휠을 굴릴 때 여러 줄 텍스트 필드가 자동으로 스크롤되는지 여부를 나타내는 부울 값입니다. | TextField | ||
mouseX : Number [읽기 전용]
마우스 또는 사용자 입력 장치 위치의 x 좌표를 픽셀로 나타냅니다. | DisplayObject | ||
mouseY : Number [읽기 전용]
마우스 또는 사용자 입력 장치 위치의 y 좌표를 픽셀로 나타냅니다. | DisplayObject | ||
multiline : Boolean
필드가 여러 행 텍스트 필드인지 여부를 나타냅니다. | TextField | ||
name : String
DisplayObject의 인스턴스 이름을 나타냅니다. | DisplayObject | ||
needsSoftKeyboard : Boolean
이 InteractiveObject 인스턴스가 포커스를 받을 때 가상 키보드(화면의 소프트웨어 키보드)를 표시할지 여부를 지정합니다. | InteractiveObject | ||
numLines : int [읽기 전용]
여러 행 텍스트 필드의 텍스트 행 수를 정의합니다. | TextField | ||
opaqueBackground : Object
표시 객체를 특정 배경색으로 불투명하게 처리할지 여부를 지정합니다. | DisplayObject | ||
parent : DisplayObjectContainer [읽기 전용]
이 표시 객체가 포함된 DisplayObjectContainer 객체를 나타냅니다. | DisplayObject | ||
restrict : String
사용자가 텍스트 필드에 입력할 수 있는 문자 세트를 나타냅니다. | TextField | ||
root : DisplayObject [읽기 전용]
로드된 SWF 파일에 있는 표시 객체의 경우, 해당 SWF 파일이 나타내는 표시 목록의 트리 구조 부분에서 맨 위에 위치하는 표시 객체가 루트 속성이 됩니다. | DisplayObject | ||
rotation : Number
DisplayObject 인스턴스가 원점으로부터 회전한 각도입니다. | DisplayObject | ||
rotationX : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 x축 회전한 각도를 나타냅니다. | DisplayObject | ||
rotationY : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 y축 회전한 각도를 나타냅니다. | DisplayObject | ||
rotationZ : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 z축 회전한 각도를 나타냅니다. | DisplayObject | ||
scale9Grid : Rectangle
현재 적용 중인 크기 조절 격자입니다. | DisplayObject | ||
scaleX : Number
등록 포인트에서 적용된 객체의 가로 크기(백분율)를 나타냅니다. | DisplayObject | ||
scaleY : Number
객체의 등록 포인트에서 적용된 객체의 세로 크기(백분율)를 나타냅니다. | DisplayObject | ||
scaleZ : Number
객체의 등록 포인트에서 적용된 객체의 깊이 크기(백분율)를 나타냅니다. | DisplayObject | ||
scrollH : int
현재 가로 스크롤 위치입니다. | TextField | ||
scrollRect : Rectangle
표시 객체의 스크롤 사각형 경계입니다. | DisplayObject | ||
scrollV : int
텍스트 필드에서 텍스트의 수직 위치입니다. | TextField | ||
selectable : Boolean
텍스트 필드를 선택할 수 있는지 여부를 나타내는 부울 값입니다. | TextField | ||
selectionBeginIndex : int [읽기 전용]
현재 선택 영역에 있는 첫 문자의 문자 인덱스 값(0부터 시작)입니다. | TextField | ||
selectionEndIndex : int [읽기 전용]
현재 선택 영역에 있는 마지막 문자의 문자 인덱스 값(0부터 시작)입니다. | TextField | ||
sharpness : Number
이 텍스트 필드의 글리프 가장자리 선명도입니다. | TextField | ||
softKeyboard : String
소프트 키보드의 모양을 제어합니다. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
소프트 키보드가 표시될 때 화면에서 그대로 유지되는 영역을 정의합니다(iOS에서는 사용할 수 없음). | InteractiveObject | ||
stage : Stage [읽기 전용]
표시 객체의 Stage입니다. | DisplayObject | ||
styleSheet : StyleSheet
텍스트 필드에 스타일 시트를 연결합니다. | TextField | ||
tabEnabled : Boolean
이 객체가 탭 순서에 있는지 여부를 지정합니다. | InteractiveObject | ||
tabIndex : int
SWF 파일에서 객체의 탭 순서를 지정합니다. | InteractiveObject | ||
text : String
텍스트 필드의 현재 텍스트인 문자열입니다. | TextField | ||
textColor : uint
텍스트 필드의 16진수 형식 텍스트 색상입니다. | TextField | ||
textHeight : Number [읽기 전용]
텍스트의 높이(픽셀 단위)입니다. | TextField | ||
textInteractionMode : String [읽기 전용]
상호 작용 모드 속성으로서, 기본값은 TextInteractionMode.NORMAL입니다. | TextField | ||
textWidth : Number [읽기 전용]
텍스트의 폭(픽셀 단위)입니다. | TextField | ||
thickness : Number
이 텍스트 필드의 글리프 가장자리 두께입니다. | TextField | ||
transform : flash.geom:Transform
표시 객체의 행렬, 색상 변환 및 픽셀 경계와 관련된 속성을 가진 객체입니다. | DisplayObject | ||
type : String
텍스트 필드의 유형입니다. | TextField | ||
useRichTextClipboard : Boolean
텍스트와 함께 텍스트 서식을 복사하여 붙여 넣을지 여부를 지정합니다. | TextField | ||
visible : Boolean
표시 객체가 표시되는지 여부를 나타냅니다. | DisplayObject | ||
width : Number
표시 객체의 폭을 픽셀 단위로 나타냅니다. | DisplayObject | ||
wordWrap : Boolean
텍스트 필드에 자동 줄 바꿈이 사용되는지 여부를 나타내는 부울 값입니다. | TextField | ||
x : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 x 좌표를 나타냅니다. | DisplayObject | ||
y : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 y 좌표를 나타냅니다. | DisplayObject | ||
z : Number
3D parent 컨테이너를 기준으로 DisplayObject 인스턴스의 z축에 있는 z 좌표 위치를 나타냅니다. | DisplayObject |
메서드 | 정의 주체 | ||
---|---|---|---|
새 TextField 인스턴스를 만듭니다. | TextField | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
newText 매개 변수에 지정된 문자열을 텍스트 필드의 텍스트 끝에 추가합니다. | TextField | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체의 영역을 정의하는 사각형을 반환합니다. | DisplayObject | ||
문자의 경계 상자인 사각형을 반환합니다. | TextField | ||
x 및 y 매개 변수로 지정된 점에 있는 문자의 인덱스 값(0부터 시작)을 반환합니다. | TextField | ||
지정된 문자 인덱스와 같은 단락에 있는 첫 문자의 인덱스를 반환합니다. | TextField | ||
<img> 태그를 사용하여 HTML 형식 텍스트 필드에 추가된 이미지 또는 SWF 파일에 대한 지정된 ID의 DisplayObject 참조를 반환합니다. | TextField | ||
x 및 y 매개 변수로 지정된 점에 있는 행의 인덱스 값(0부터 시작)을 반환합니다. | TextField | ||
charIndex 매개 변수로 지정된 문자가 들어 있는 행의 인덱스 값(0부터 시작)을 반환합니다. | TextField | ||
특정 텍스트 행의 문자 수를 반환합니다. | TextField | ||
지정된 텍스트 행에 대한 메트릭 정보를 반환합니다. | TextField | ||
lineIndex 매개 변수로 지정된 행에 있는 첫 문자의 문자 인덱스를 반환합니다. | TextField | ||
lineIndex 매개 변수로 지정된 행의 텍스트를 반환합니다. | TextField | ||
지정된 문자 인덱스가 포함된 단락의 길이를 반환합니다. | TextField | ||
대상 좌표 공간 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다. | DisplayObject | ||
beginIndex 및 endIndex 매개 변수로 지정된 텍스트 범위에 대한 서식 정보가 들어 있는 TextFormat 객체를 반환합니다. | TextField | ||
Point 객체를 Stage 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다. | DisplayObject | ||
Stage(전역) 좌표의 2차원 점을 3차원 표시 객체(로컬) 좌표로 변환합니다. | DisplayObject | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
표시 객체의 경계 상자를 평가하여 obj 표시 객체의 경계 상자와 겹치거나 교차하는지 확인합니다. | DisplayObject | ||
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다. | DisplayObject | ||
[정적]
지정된 fontName 및 fontStyle로 포함된 글꼴을 사용할 수 있고 Font.fontType이 flash.text.FontType.EMBEDDED이면 true를 반환합니다. | TextField | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
3차원 표시 객체의 로컬 좌표에 있는 3차원 점을 Stage 전역 좌표의 2차원 점으로 변환합니다. | DisplayObject | ||
Point 객체를 표시 객체의 로컬 좌표에서 Stage 전역 좌표로 변환합니다. | DisplayObject | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
현재 선택 내용을 value 매개 변수의 내용으로 바꿉니다. | TextField | ||
beginIndex 및 endIndex 매개 변수로 지정된 문자 범위를 newText 매개 변수의 내용으로 바꿉니다. | TextField | ||
가상 키보드를 표시합니다. | InteractiveObject | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
beginIndex 및 endIndex 매개 변수로 지정된 첫 번째 및 마지막 문자의 인덱스 값으로 지정된 텍스트를 선택된 상태로 설정합니다. | TextField | ||
텍스트 필드의 지정된 텍스트에 format 매개 변수로 지정된 텍스트 서식을 적용합니다. | TextField | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
표시 객체를 표시 목록에 추가할 때 전달됩니다. | DisplayObject | |||
표시 객체를 직접 또는 해당 표시 객체가 포함된 하위 트리 추가를 통해 스테이지 표시 목록에 추가할 때 전달됩니다. | DisplayObject | |||
값이 수정되기 전에 전달되는 textInput 이벤트와 달리 컨트롤 값이 수정된 후 전달됩니다. | TextField | |||
사용자가 텍스트 컨텍스트 메뉴에서 '지우기' 또는 '삭제'를 선택할 때 전달됩니다. | InteractiveObject | |||
사용자가 동일한 InteractiveObject 위에서 포인팅 장치의 기본 버튼을 눌렀다 놓을 때 전달됩니다. | InteractiveObject | |||
사용자 동작이 AIR 응용 프로그램의 이 대화형 객체와 연결된 컨텍스트 메뉴를 트리거할 때 전달됩니다. | InteractiveObject | |||
사용자가 복사 작업에 대해 플랫폼 관련 액셀러레이터 키 조합을 활성화하거나 텍스트 컨텍스트 메뉴에서 '복사'를 선택할 때 전달됩니다. | InteractiveObject | |||
사용자가 잘라내기 작업에 대해 플랫폼 관련 액셀러레이터 키 조합을 활성화하거나 텍스트 컨텍스트 메뉴에서 '잘라내기'를 선택할 때 전달됩니다. | InteractiveObject | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
객체의 doubleClickEnabled 플래그가 true로 설정되어 있는 경우 사용자가 동일한 InteractiveObject 위에서 포인팅 장치의 기본 버튼을 연속으로 빠르게 두 번 눌렀다 놓을 때 전달됩니다. | InteractiveObject | |||
[브로드캐스트 이벤트] 재생 헤드가 새 프레임에 들어갈 때 전달됩니다. | DisplayObject | |||
[브로드캐스트 이벤트] 재생 헤드가 현재 프레임을 종료할 때 전달됩니다. | DisplayObject | |||
표시 객체가 포커스를 얻은 후 전달됩니다. | InteractiveObject | |||
표시 객체가 포커스를 잃은 후 전달됩니다. | InteractiveObject | |||
[브로드캐스트 이벤트] 프레임 표시 객체의 생성자가 실행되었지만 프레임 스크립트는 아직 실행되지 않았을 때 전달됩니다. | DisplayObject | |||
사용자가 InteractiveObject 인스턴스를 사용하여 터치 표면 가장자리를 따라 접점을 만들 때 전달됩니다(예: Siri Remote for Apple TV의 터치 표면 가장자리를 따라 누르기). 일부 장치에서는 이 접점을 여러 터치 이벤트의 조합으로 해석할 수도 있습니다. | InteractiveObject | |||
사용자가 터치 지원 장치의 동일한 InteractiveObject 인스턴스 위에서 여러 접점을 누를 때 전달됩니다(터치 스크린이 있는 휴대 전화 또는 타블렛의 표시 객체를 손가락 두 개로 눌렀다가 놓는 경우 등). | InteractiveObject | |||
사용자가 터치 지원 장치의 InteractiveObject 인스턴스 위에서 한 접점을 이동할 때 전달됩니다(예: 터치 스크린이 있는 휴대 전화 또는 타블렛의 표시 객체 위에서 손가락 하나를 왼쪽에서 오른쪽으로 움직이는 경우). | InteractiveObject | |||
사용자가 InteractiveObject 인스턴스와의 접점에서 회전 동작을 수행할 때 전달됩니다(예: 터치 스크린이 있는 휴대 전화 또는 타블렛에서 손가락 두 개로 표시 객체에 접촉한 후 회전하는 경우). | InteractiveObject | |||
사용자가 InteractiveObject 인스턴스와의 접점에서 스와이프 동작을 수행할 때 전달됩니다(예: 터치 스크린이 있는 휴대폰 또는 타블렛에서 화면에 손가락을 세 개 댄 상태에서 표시 객체 위에서 손가락들을 동시에 이동할 때). | InteractiveObject | |||
사용자가 InteractiveObject 인스턴스를 사용하여 접점을 만든 다음 터치 지원 장치를 누를 때 전달됩니다(예: 터치 스크린이 있는 휴대 전화 또는 타블렛에서 손가락 여러 개를 표시 객체 위에 놓아 메뉴를 연 다음 손가락 하나로 메뉴 항목을 눌러 선택하는 경우). | InteractiveObject | |||
사용자가 InteractiveObject 인스턴스와의 접점에서 확대/축소 동작을 수행할 때 전달됩니다(예: 터치 스크린이 있는 휴대폰 또는 타블렛에서 화면에 손가락을 두 개 댄 상태에서 표시 객체 위에서 손가락 사이의 거리를 빠르게 벌릴 때). | InteractiveObject | |||
이 이벤트는 IME에서 인라인 입력을 지원하는 모든 클라이언트 응용 프로그램으로 전달됩니다. | InteractiveObject | |||
사용자가 키를 누를 때 전달됩니다. | InteractiveObject | |||
사용자가 키보드를 사용하여 포커스를 바꾸려고 할 때 전달됩니다. | InteractiveObject | |||
사용자가 키를 놓을 때 전달됩니다. | InteractiveObject | |||
사용자가 HTML 사용 가능 텍스트 필드에서 URL이 "event:"로 시작되는 하이퍼링크를 클릭할 때 전달됩니다. | TextField | |||
사용자가 동일한 InteractiveObject 위에서 포인팅 장치의 중간 버튼을 눌렀다 놓을 때 전달됩니다. | InteractiveObject | |||
사용자가 InteractiveObject 인스턴스 위에서 포인팅 장치의 중간 버튼을 누를 때 전달됩니다. | InteractiveObject | |||
InteractiveObject 인스턴스 위에 포인팅 장치를 놓고 버튼을 놓을 때 전달됩니다. | InteractiveObject | |||
InteractiveObject 인스턴스 위에 포인팅 장치를 놓고 버튼을 누를 때 전달됩니다. | InteractiveObject | |||
사용자가 포인팅 장치를 사용하여 포커스를 바꾸려고 할 때 전달됩니다. | InteractiveObject | |||
포인팅 장치가 InteractiveObject 위에 있을 때 포인팅 장치를 움직이면 전달됩니다. | InteractiveObject | |||
포인팅 장치를 InteractiveObject 인스턴스에서 멀리 하면 전달됩니다. | InteractiveObject | |||
포인팅 장치를 InteractiveObject 인스턴스 위로 옮길 때 전달됩니다. | InteractiveObject | |||
InteractiveObject 인스턴스 위에 포인팅 장치를 놓고 버튼을 놓을 때 전달됩니다. | InteractiveObject | |||
InteractiveObject 인스턴스 위에 마우스를 놓고 휠을 굴릴 때 전달됩니다. | InteractiveObject | |||
사용자가 드래그 동작을 놓을 때 드래그 시작 객체 InteractiveObject에 의해 전달됩니다. | InteractiveObject | |||
드래그한 객체가 이 객체에 드롭되고 드롭이 DragManager.acceptDragDrop()에 대한 호출을 통해 허용될 때 대상 InteractiveObject에 의해 전달됩니다. | InteractiveObject | |||
드래그 동작이 이 객체의 경계에 들어갈 때 InteractiveObject에 의해 전달됩니다. | InteractiveObject | |||
드래그 동작이 이 객체의 경계를 벗어날 때 InteractiveObject에 의해 전달됩니다. | InteractiveObject | |||
드래그 동작이 이 객체의 경계에 있는 동안에는 계속 InteractiveObject에 의해 전달됩니다. | InteractiveObject | |||
DragManager.doDrag() 호출에서 드래그 시작 객체로 지정되는 InteractiveObject에 의해 드래그 작업이 시작될 때 전달됩니다. | InteractiveObject | |||
DragManager.doDrag() 호출에서 드래그 시작 객체로 지정되는 InteractiveObject에 의해 드래그 작업 중에 전달됩니다. | InteractiveObject | |||
사용자가 붙여넣기 작업에 대해 플랫폼 관련 액셀러레이터 키 조합을 활성화하거나 텍스트 컨텍스트 메뉴에서 '붙여넣기'를 선택할 때 전달됩니다. | InteractiveObject | |||
사용자가 화면의 근접 감지 임계값을 지나서 활성 스타일러스를 놓았을 때 전달됩니다. | InteractiveObject | |||
사용자가 화면의 근접 감지 임계값 위에서 활성 스타일러스를 떼어낼 때 전달됩니다. | InteractiveObject | |||
사용자가 근접 감지 임계값 내에 있으면서 화면 위로 활성 스타일러스를 이동할 때 전달됩니다. | InteractiveObject | |||
사용자가 화면의 근접 감지 임계값 내에 있으면서 이 InteractiveObject에서 벗어나 활성 스타일러스를 이동할 때 전달됩니다. | InteractiveObject | |||
사용자가 화면의 근접 감지 임계값 내에 있으면서 이 InteractiveObject 바로 위로 활성 스타일러스를 이동할 때 전달됩니다. | InteractiveObject | |||
사용자가 화면의 근접 감지 임계값 내에 있으면서 이 InteractiveObject 및 해당 자식에서 벗어나 활성 스타일러스를 이동할 때 전달됩니다. | InteractiveObject | |||
사용자가 화면의 근접 감지 임계값 내에 있으면서 활성 스타일러스를 표시 목록에 있는 객체의 자손 트리에서 이 InteractiveObject 위로 이동할 때 전달됩니다. | InteractiveObject | |||
사용자가 먼저 InteractiveObject 인스턴스 위에서 단추를 누른 다음 InteractiveObject 인스턴스에서 벗어나 포인팅 장치를 이동한 후 포인팅 장치의 버튼을 해제할 때 전달됩니다. | InteractiveObject | |||
표시 객체를 표시 목록에서 제거하려고 할 때 전달됩니다. | DisplayObject | |||
표시 객체를 직접 또는 해당 표시 객체가 포함된 하위 트리 제거를 통해 표시 목록에서 제거하려고 할 때 전달됩니다. | DisplayObject | |||
[브로드캐스트 이벤트] 표시 목록이 업데이트 및 렌더링되기 직전에 전달됩니다. | DisplayObject | |||
사용자가 동일한 InteractiveObject 위에서 포인팅 장치의 오른쪽 버튼을 눌렀다 놓을 때 전달됩니다. | InteractiveObject | |||
InteractiveObject 인스턴스 위에 포인팅 장치를 놓고 버튼을 누를 때 전달됩니다. | InteractiveObject | |||
InteractiveObject 인스턴스 위에 포인팅 장치를 놓고 버튼을 놓을 때 전달됩니다. | InteractiveObject | |||
포인팅 장치를 InteractiveObject 인스턴스에서 멀리 하면 전달됩니다. | InteractiveObject | |||
포인팅 장치를 InteractiveObject 인스턴스 위로 옮길 때 전달됩니다. | InteractiveObject | |||
사용자가 스크롤한 후 TextField 객체에 의해 전달됩니다. | TextField | |||
사용자가 전체 선택 작업에 대해 플랫폼 관련 액셀러레이터 키 조합을 활성화하거나 텍스트 컨텍스트 메뉴에서 '전체 선택'을 선택할 때 전달됩니다. | InteractiveObject | |||
소프트 키보드를 놓은 직후에 전달됩니다. | InteractiveObject | |||
소프트 키보드를 놓기 직전에 전달됩니다. | InteractiveObject | |||
소프트 키보드가 눌린 직후에 전달됩니다. | InteractiveObject | |||
객체의 tabChildren 플래그 값이 변경될 때 전달됩니다. | InteractiveObject | |||
객체의 tabEnabled 플래그가 변경될 때 전달됩니다. | InteractiveObject | |||
객체의 tabIndex 속성 값이 변경될 때 전달됩니다. | InteractiveObject | |||
사용자가 텍스트를 한 글자 이상 입력하면 Flash Player에서 textInput 이벤트를 전달합니다. | TextField | |||
Flash Player는 사용자가 텍스트 필드의 상호 작용 모드를 변경할 때 textInteractionModeChange 이벤트를 전달합니다. | TextField | |||
사용자가 처음으로 터치 지원 장치를 접촉할 때 전달됩니다(터치 스크린이 있는 휴대 전화 또는 타블렛을 손가락으로 접촉하는 경우 등). | InteractiveObject | |||
사용자가 터치 지원 장치에서 접촉을 제거할 때 전달됩니다(터치 스크린이 있는 휴대 전화 또는 타블렛에서 손가락을 떼는 경우 등). | InteractiveObject | |||
사용자가 장치를 터치할 때 전달되고, 접점이 제거될 때까지 계속 전달됩니다. | InteractiveObject | |||
사용자가 터치 지원 장치에서 InteractiveObject 인스턴스 접점을 인스턴스 외부로 멀리 이동할 때 전달됩니다(터치 스크린이 있는 휴대 전화 또는 타블렛에서 하나의 표시 객체에서 다른 표시 객체로 손가락 한 개를 드래그하는 경우 등). | InteractiveObject | |||
사용자가 터치 지원 장치에서 InteractiveObject 인스턴스로 접점을 이동할 때 전달됩니다(터치 스크린이 있는 휴대 전화 또는 타블렛에서 표시 객체 외부의 한 지점에서 표시 객체 위의 한 지점으로 손가락 한 개를 드래그하는 경우 등). | InteractiveObject | |||
사용자가 터치 지원 장치에서 InteractiveObject 인스턴스 접점을 인스턴스로부터 멀리 이동할 때 전달됩니다(예: 터치 스크린이 있는 휴대 전화 또는 타블렛에서 표시 객체로부터 표시 객체 외부의 한 지점으로 손가락 하나를 드래그하는 경우). | InteractiveObject | |||
사용자가 터치 지원 장치에서 InteractiveObject 인스턴스로 접점을 이동할 때 전달됩니다(터치 스크린이 있는 휴대 전화 또는 타블렛에서 표시 객체 외부의 한 지점에서 표시 객체 위의 한 지점으로 손가락 한 개를 드래그하는 경우 등). | InteractiveObject | |||
사용자가 터치 지원 장치에서 접촉이 처음 발생하는 동일한 InteractiveObject 인스턴스로부터 접촉을 제거할 때 전달됩니다(터치 스크린이 있는 휴대 전화 또는 타블렛의 표시 객체 위 단일 지점을 손가락 한 개로 눌렀다가 놓는 경우 등). | InteractiveObject |
alwaysShowSelection | 속성 |
alwaysShowSelection:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
true
로 설정하면 텍스트 필드에 포커스가 없는 경우 Flash Player에서 텍스트 필드의 선택 영역이 회색으로 강조 표시됩니다. false
로 설정하면 텍스트 필드에 포커스가 없는 경우 Flash Player에서 텍스트 필드의 선택 영역이 강조 표시되지 않습니다.
기본값: false.
구현
public function get alwaysShowSelection():Boolean
public function set alwaysShowSelection(value:Boolean):void
관련 API 요소
예제 ( 예제 사용 방법 )
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_alwaysShowSelection extends Sprite { public function TextField_alwaysShowSelection() { var label1:TextField = createCustomTextField(0, 20, 200, 20); label1.text = "This text is selected."; label1.setSelection(0, 9); label1.alwaysShowSelection = true; var label2:TextField = createCustomTextField(0, 50, 200, 20); label2.text = "Drag to select some of this text."; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
antiAliasType | 속성 |
antiAliasType:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 텍스트 필드에 사용되는 앤티앨리어싱 유형입니다. 이 속성에는 flash.text.AntiAliasType
상수를 사용합니다. 이 설정은 글꼴이 포함되어 있는 경우(embedFonts
속성이 true
로 설정)에만 제어할 수 있습니다. 기본 설정은 flash.text.AntiAliasType.NORMAL
입니다.
이 속성의 값을 설정하려면 다음 문자열 값을 사용합니다.
문자열 값 | 설명 |
---|---|
flash.text.AntiAliasType.NORMAL | 일반 텍스트 앤티앨리어싱을 적용합니다. 이 값은 Flash Player 7 이하 버전에서 사용되는 앤티앨리어싱 유형과 같습니다. |
flash.text.AntiAliasType.ADVANCED | 텍스트를 보다 읽기 쉽게 표시하는 고급 앤티앨리어싱을 적용합니다. 이 기능은 Flash Player 8에서 추가되었습니다. 고급 앤티앨리어싱을 사용하면 작은 크기의 글꼴을 고품질로 렌더링할 수 있습니다. 이 설정은 글자 크기가 작은 텍스트가 많이 포함된 응용 프로그램에서 사용하면 좋습니다. 글자 크기 48포인트 이상의 글꼴에는 고급 앤티앨리어싱 설정을 사용하지 않는 것이 좋습니다. |
구현
public function get antiAliasType():String
public function set antiAliasType(value:String):void
관련 API 요소
autoSize | 속성 |
autoSize:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드의 자동 크기 조절 및 정렬을 제어합니다. TextFieldAutoSize
상수에 사용할 수 있는 값은 TextFieldAutoSize.NONE
(기본값), TextFieldAutoSize.LEFT
, TextFieldAutoSize.RIGHT
및 TextFieldAutoSize.CENTER
입니다.
autoSize
를 기본값인 TextFieldAutoSize.NONE
으로 설정하면 크기가 자동으로 조절되지 않습니다.
autoSize
를 TextFieldAutoSize.LEFT
로 설정하면 텍스트가 왼쪽 정렬로 간주되어 텍스트 필드의 왼쪽 여백이 고정되며 텍스트 필드의 단일 행에 대한 모든 크기 조절이 오른쪽 여백에 적용됩니다. 텍스트에 "\n"
또는 "\r"
등의 줄 바꿈이 포함된 경우 아래쪽 크기가 다음 텍스트 행에 맞게 조절됩니다. 또한 wordWrap
을 true
로 설정하면 텍스트 필드의 아래쪽만 크기가 조절되고 오른쪽은 고정됩니다.
autoSize
를 TextFieldAutoSize.RIGHT
로 설정하면 텍스트가 오른쪽 정렬로 간주되어 텍스트 필드의 오른쪽 여백이 고정되며 텍스트 필드의 단일 행에 대한 모든 크기 조절이 왼쪽 여백에 적용됩니다. 텍스트에 "\n" 또는 "\r"
등의 줄 바꿈이 포함된 경우 아래쪽 크기가 다음 텍스트 행에 맞게 조절됩니다. 또한 wordWrap
을 true
로 설정하면 텍스트 필드의 아래쪽만 크기가 조절되고 왼쪽은 고정됩니다.
autoSize
를 TextFieldAutoSize.CENTER
로 설정하면 텍스트가 가운데 정렬로 간주되어 텍스트 필드의 단일 행에 대한 모든 크기 조절이 오른쪽 여백과 왼쪽 여백에 균등하게 적용됩니다. 텍스트에 "\n"
또는 "\r"
등의 줄 바꿈이 포함된 경우 아래쪽 크기가 다음 텍스트 행에 맞게 조절됩니다. 또한 wordWrap
을 true
로 설정하면 텍스트 필드의 아래쪽만 크기가 조절되고 왼쪽과 오른쪽은 고정됩니다.
구현
public function get autoSize():String
public function set autoSize(value:String):void
오류
ArgumentError — 지정된 autoSize 가 flash.text.TextFieldAutoSize의 멤버가 아닙니다.
|
관련 API 요소
background | 속성 |
background:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드에 배경 칠이 있는지 여부를 지정합니다. true
이면 텍스트 필드에 배경 칠이 있습니다. false
이면 텍스트 필드에 배경 칠이 없습니다. 텍스트 필드의 배경색을 설정하려면 backgroundColor
속성을 사용합니다.
기본값: false.
구현
public function get background():Boolean
public function set background(value:Boolean):void
관련 API 요소
backgroundColor | 속성 |
backgroundColor:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드의 배경색입니다. 기본값은 0xFFFFFF
(흰색)입니다. 이 속성은 현재 배경이 없어도 가져오거나 설정할 수 있지만 색상을 표시하려면 텍스트 필드의 background
속성을 true
로 설정해야 합니다.
구현
public function get backgroundColor():uint
public function set backgroundColor(value:uint):void
관련 API 요소
border | 속성 |
border:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드에 테두리가 있는지 여부를 지정합니다. true
이면 텍스트 필드에 테두리가 있습니다. false
이면 텍스트 필드에 테두리가 없습니다. 테두리 색상을 설정하려면 borderColor
속성을 사용합니다.
기본값: false.
구현
public function get border():Boolean
public function set border(value:Boolean):void
관련 API 요소
borderColor | 속성 |
borderColor:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드의 테두리 색상입니다. 기본값은 0x000000
(검정)입니다. 이 속성은 현재 테두리가 없어도 가져오거나 설정할 수 있지만 색상을 표시하려면 텍스트 필드의 border
속성을 true
로 설정해야 합니다.
구현
public function get borderColor():uint
public function set borderColor(value:uint):void
관련 API 요소
bottomScrollV | 속성 |
bottomScrollV:int
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 텍스트 필드에서 현재 맨 아래에 표시되는 행을 나타내는 정수 인덱스(1부터 시작)입니다. 텍스트 필드는 텍스트 블록 위의 "윈도우"라고 이해할 수 있습니다. scrollV
속성은 윈도우에서 맨 위에 표시되는 행의 인덱스(1부터 시작)입니다.
scrollV
및 bottomScrollV
로 지정한 행 사이의 모든 텍스트가 현재 텍스트 필드에 표시됩니다.
구현
public function get bottomScrollV():int
관련 API 요소
caretIndex | 속성 |
caretIndex:int
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
삽입점(캐럿) 위치의 인덱스입니다. 삽입점이 표시되지 않는 경우 이 값은 필드에 포커스가 돌아올 때 삽입점이 놓일 위치입니다. 이 위치는 일반적으로 삽입점이 마지막으로 있었던 위치이며, 필드가 포커스를 가진 적이 없는 경우에는 0입니다.
선택 범위 인덱스는 0부터 시작합니다. 예를 들어 첫 위치는 0이고 두 번째 위치는 1과 같은 식입니다.
구현
public function get caretIndex():int
관련 API 요소
예제 ( 예제 사용 방법 )
printCursorPosition
메서드가 호출됩니다. 이러한 경우 caretIndex
, selectionBeginIndex
및 selectionEndIndex
속성의 값이 출력됩니다.
이 예제를 실행하고 TextField를 클릭하여 텍스트를 선택해 봅니다. 그런 다음 텍스트를 선택하지 않고 필드를 클릭합니다. 텍스트를 선택하지 않고 텍스트를 클릭하면 caretIndex
속성에서 삽입점이 발생한 위치를 나타내고, selectionBeginIndex
및 selectionEndIndex
속성은 caretIndex
속성 값과 같습니다.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
condenseWhite | 속성 |
condenseWhite:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
HTML 텍스트가 있는 텍스트 필드에서 공백 문자, 줄 바꿈 등의 불필요한 공백을 제거할지 여부를 지정하는 부울 값입니다. 기본값은 false
입니다. condenseWhite
속성은 htmlText
속성이 설정된 텍스트에만 적용되고 text
속성이 설정된 텍스트에는 적용되지 않습니다. 텍스트에 text
속성을 설정하면 condenseWhite
가 무시됩니다.
condenseWhite
를 true
로 설정한 경우 텍스트 필드에 줄 바꿈을 배치하려면 <BR>
및 <P>
등의 표준 HTML 명령을 사용합니다.
condenseWhite
속성은 htmlText
속성을 설정하기 전에 설정해야 합니다.
구현
public function get condenseWhite():Boolean
public function set condenseWhite(value:Boolean):void
관련 API 요소
예제 ( 예제 사용 방법 )
condenseWhite
를 false
로 설정할 때와 true
로 설정할 때의 차이를 보여 줍니다.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_condenseWhite extends Sprite { public function TextField_condenseWhite() { var tf1:TextField = createCustomTextField(0, 0, 200, 50); tf1.condenseWhite = false; tf1.htmlText = "keep on\n\ttruckin'"; var tf2:TextField = createCustomTextField(0, 120, 200, 50); tf2.condenseWhite = true; tf2.htmlText = "keep on\n\ttruckin'"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; addChild(result); return result; } } }
defaultTextFormat | 속성 |
defaultTextFormat:flash.text:TextFormat
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
replaceSelectedText()
메서드로 삽입한 텍스트 또는 사용자가 입력한 텍스트 등 새로 삽입되는 텍스트에 적용할 서식을 지정합니다.
참고: setSelection()
및 replaceSelectedText()
로 대체할 문자를 선택할 때는 마지막 문자까지 포함하여 텍스트를 선택하는 경우에만 defaultTextFormat
이 적용됩니다. 예를 들면 다음과 같습니다.
var my_txt:TextField new TextField(); my_txt.text = "Flash Macintosh version"; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0xFF0000; my_txt.defaultTextFormat = my_fmt; my_txt.setSelection(6,15); // partial text selected - defaultTextFormat not applied my_txt.setSelection(6,23); // text selected to end - defaultTextFormat applied my_txt.replaceSelectedText("Windows version");
defaultTextFormat
속성에 액세스할 때 반환되는 TextFormat 객체에는 정의된 모든 속성이 포함됩니다. null
인 속성은 없습니다.
참고: 텍스트 필드에 스타일 시트가 적용된 경우에는 이 속성을 설정할 수 없습니다.
구현
public function get defaultTextFormat():flash.text:TextFormat
public function set defaultTextFormat(value:flash.text:TextFormat):void
오류
Error — 이 메서드는 스타일 시트가 있는 텍스트 필드에 사용할 수 없습니다.
|
관련 API 요소
displayAsPassword | 속성 |
displayAsPassword:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드가 암호 텍스트 필드인지 여부를 지정합니다. 이 속성의 값이 true
이면 텍스트 필드가 암호 텍스트 필드로 간주되며 실제 문자 대신 별표를 사용하여 입력 문자가 숨겨집니다. 이 값이 false
이면 텍스트 필드가 암호 텍스트 필드로 간주되지 않습니다. 암호 모드를 사용하면 잘라내기 및 복사 명령과 해당 키보드 단축키가 작동하지 않습니다. 이 보안 메커니즘은 악의적인 사용자가 단축키를 사용하여 아무도 없는 컴퓨터에서 암호를 알아낼 수 없게 합니다.
기본값: false.
구현
public function get displayAsPassword():Boolean
public function set displayAsPassword(value:Boolean):void
embedFonts | 속성 |
embedFonts:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
포함된 글꼴 외곽선을 사용하여 렌더링할지 여부를 지정합니다. false
이면 Flash Player에서 장치 글꼴을 사용하여 텍스트 필드를 렌더링합니다.
텍스트 필드의 embedFonts
속성을 true
로 설정한 경우 텍스트 필드에 적용된 TextFormat 객체의 font
속성을 사용하여 해당 텍스트의 글꼴을 지정해야 합니다. 지정한 글꼴이 SWF 파일에 포함되어 있지 않으면 텍스트가 표시되지 않습니다.
기본값: false.
구현
public function get embedFonts():Boolean
public function set embedFonts(value:Boolean):void
관련 API 요소
gridFitType | 속성 |
gridFitType:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 텍스트 필드에 사용되는 격자 맞춤의 유형입니다. 이 속성은 텍스트 필드의 flash.text.AntiAliasType
속성을 flash.text.AntiAliasType.ADVANCED
로 설정한 경우에만 적용됩니다.
격자 맞춤의 유형은 Flash Player에서 굵은 가로 및 세로 선을 픽셀 격자에 맞출지, 하위 픽셀 격자에 맞출지 아니면 전혀 맞추지 않을지를 결정하는 데 사용됩니다.
flash.text.GridFitType
속성에는 다음 문자열 값을 사용할 수 있습니다.
문자열 값 | 설명 |
---|---|
flash.text.GridFitType.NONE | 격자 맞춤을 지정하지 않습니다. 글리프의 가로 선과 세로 선이 픽셀 격자에 강제로 맞추어지지 않습니다. 이 설정은 애니메이션이나 큰 글꼴 크기에 적합합니다. |
flash.text.GridFitType.PIXEL | 굵은 가로 선 및 세로 선이 픽셀 격자에 맞도록 지정합니다. 이 설정은 왼쪽 정렬 텍스트 필드에만 적용됩니다. 이 설정을 사용하려면 텍스트 필드의 flash.dispaly.AntiAliasType 속성을 flash.text.AntiAliasType.ADVANCED 로 설정해야 합니다. 이 설정을 왼쪽 정렬 텍스트에 적용하면 일반적으로 가독성이 가장 좋아집니다. |
flash.text.GridFitType.SUBPIXEL | 굵은 가로 선 및 세로 선이 LCD 모니터의 하위 픽셀 격자에 맞춰지도록 지정합니다. 이 설정을 사용하려면 텍스트 필드의 flash.text.AntiAliasType 속성을 flash.text.AntiAliasType.ADVANCED 로 설정해야 합니다. flash.text.GridFitType.SUBPIXEL 설정은 주로 오른쪽 정렬 또는 가운데 정렬 동적 텍스트에 적합하며 애니메이션과 텍스트 간의 품질을 절충하는 데 유용합니다. |
기본값: pixel.
구현
public function get gridFitType():String
public function set gridFitType(value:String):void
관련 API 요소
예제 ( 예제 사용 방법 )
gridFitType
속성에 대한 다른 설정을 가진 세 개의 텍스트 필드를 보여 줍니다. 이 예제를 사용할 때는 처음 행 두 개의 가독성이 다르다는 것에 유의합니다. 또한 왼쪽 정렬 텍스트에 GridFitType.PIXEL
이 사용되고 오른쪽 정렬 텍스트에 GridFitType.SUBPIXEL
이 사용되는 것이 최적의 사용입니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; public class gridFitTypeExample extends Sprite { public function gridFitTypeExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=12; var tf1:TextField = createCustomTextField(0,0,format1,"NONE",TextFieldAutoSize.LEFT,GridFitType.NONE); var tf2:TextField = createCustomTextField(0,30,format1,"PIXEL",TextFieldAutoSize.LEFT,GridFitType.PIXEL); var tf3:TextField = createCustomTextField(300,60,format1,"SUBPIXEL",TextFieldAutoSize.RIGHT,GridFitType.SUBPIXEL); } private function createCustomTextField(x:Number,y:Number,fm:TextFormat,tl:String,tfs:String,gft:String):TextField { var result:TextField = new TextField(); result.x=x; result.y=y; result.embedFonts=true; result.antiAliasType=AntiAliasType.ADVANCED; result.text="This text uses a gridFitType of " + tl; result.autoSize=tfs; result.gridFitType=gft; result.setTextFormat(fm); addChild(result); return result; } } }
htmlText | 속성 |
htmlText:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드 내용의 HTML 표현이 들어 있습니다.
Flash Player에서는 다음과 같은 HTML 태그를 지원합니다.
태그 | 설명 |
---|---|
앵커 태그 |
<a> 태그는 하이퍼링크를 만들며 다음 특성을 지원합니다.
|
굵게 태그 |
<b> 태그는 텍스트를 굵은 글꼴로 렌더링합니다. 이때 사용된 글꼴이 굵은 글꼴을 지원해야 합니다.
|
행 분리 태그 |
<br> 태그는 텍스트 필드에서 줄을 바꿉니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정해야 합니다.
|
글꼴 태그 |
<font> 태그는 텍스트를 표시할 글꼴 또는 글꼴 목록을 지정합니다. 지원되는 특성은 다음과 같습니다.
|
이미지 태그 |
<img> 태그를 사용하면 외부 이미지 파일(JPEG, GIF, PNG), SWF 파일 및 동영상 클립을 텍스트 필드에 포함할 수 있습니다. 텍스트는 텍스트 필드에 포함된 이미지 주위로 자동 전개됩니다. 이미지 주위로 텍스트 줄을 바꾸려면 텍스트 필드를 여러 행으로 설정해야 합니다.
Flash에서는 텍스트 필드에 포함된 미디어를 전체 크기로 표시합니다. 포함되는 미디어의 크기를 지정하려면 일반적으로 텍스트 필드에 포함된 이미지는 응용 프로그램 보안 샌드박스에 있는 AIR 내용의 경우 AIR는 ActionScript TextField 객체의 HTML 내용에 있는 |
기울임체 태그 |
<i> 태그는 대상 텍스트를 기울임체로 표시합니다. 이때 사용된 글꼴이 기울임체를 지원해야 합니다.
|
목록 항목 태그 |
<li> 태그는 이 태그로 둘러싼 텍스트 앞에 불릿 기호를 표시합니다. 참고: Flash Player 및 AIR에서는 순서 있는 목록 태그와 순서 없는 목록 태그(<ol> 및 <ul> )가 인식되지 않으므로 이러한 태그는 목록의 렌더링 방식에 영향을 주지 않습니다. 모든 목록에는 순서가 없으며 모든 목록 항목에 불릿 기호가 사용됩니다.
|
단락 태그 |
<p> 태그는 새로운 단락을 만듭니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정해야 합니다. <p> 태그는 다음 특성을 지원합니다.
|
span 태그 |
<span> 태그는 CSS 텍스트 스타일과 함께 사용해야 합니다. 이 태그는 다음 특성을 지원합니다.
|
텍스트 서식 태그 |
|
밑줄 태그 |
<u> 태그는 대상 텍스트에 밑줄을 긋습니다.
|
Flash Player 및 AIR에서는 다음과 같은 HTML 엔터티를 지원합니다.
엔터티 | 설명 |
---|---|
< | < (보다 작음) |
> | > (보다 큼) |
& | & (앰퍼센드) |
" | " (이중 따옴표) |
' | ' (아포스트로피, 작은 따옴표) |
Flash Player 및 AIR는 &(ASCII 앰퍼샌드) 및 €(Unicode € 심볼) 등의 명시적 문자 코드도 지원합니다.
구현
public function get htmlText():String
public function set htmlText(value:String):void
관련 API 요소
예제 ( 예제 사용 방법 )
tf1
이라는 TextField를 만들고 text
속성에 HTML 형식 문자열을 할당합니다. htmlText
속성을 추적하면, <P> 및 <FONT> 등의 추가 태그가 Flash Player에서 자동으로 추가된 상태로 HTML 형식 문자열이 출력됩니다. text
속성의 값을 추적하면 서식 없는 문자열이 HTML 태그 없이 표시됩니다.
그런 다음 비교를 위해 tf2
라는 TextField 객체에 동일한 단계를 수행하고, 이번에는 htmlText
속성을 설정하기 전에 tf2
의 styleSheet
속성에 StyleSheet 객체를 할당합니다. 이 경우 htmlText
속성을 추적하면 htmlText
속성에 원래 할당했던 HTML 텍스트만 그대로 포함되며 Flash Player에서 태그를 추가하지 않는 것을 볼 수 있습니다.
package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; public class TextField_text extends Sprite { public function TextField_text() { var tf1:TextField = createCustomTextField(10, 10, 400, 22); tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><b>Lorem ipsum dolor sit amet.</b></FONT></P> trace("htmlText: " + tf1.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf1.text); var tf2:TextField = createCustomTextField(10, 50, 400, 22); tf2.styleSheet = new StyleSheet(); tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <b>Lorem ipsum dolor sit amet.</b> trace("htmlText: " + tf2.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf2.text); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
length | 속성 |
maxChars | 속성 |
maxChars:int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
사용자가 입력하여 텍스트 필드에 포함될 수 있는 최대 문자 수입니다. 스크립트를 사용하면 maxChars
에서 허용하는 것보다 많은 텍스트를 삽입할 수 있습니다. maxChars
속성은 사용자가 입력할 수 있는 텍스트의 양만 나타냅니다. 이 속성의 값이 0
이면 사용자는 텍스트를 무제한 입력할 수 있습니다.
기본값: 0.
구현
public function get maxChars():int
public function set maxChars(value:int):void
maxScrollH | 속성 |
maxScrollV | 속성 |
mouseWheelEnabled | 속성 |
mouseWheelEnabled:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
사용자가 텍스트 필드를 클릭하고 마우스 휠을 굴릴 때 여러 줄 텍스트 필드가 자동으로 스크롤되는지 여부를 나타내는 부울 값입니다. 기본적으로 이 값은 true
입니다. 이 속성은 마우스 휠로 텍스트 필드의 내용을 스크롤하지 못하도록 하거나 고유한 텍스트 필드 스크롤 방식을 구현할 때 유용합니다.
구현
public function get mouseWheelEnabled():Boolean
public function set mouseWheelEnabled(value:Boolean):void
multiline | 속성 |
multiline:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
필드가 여러 행 텍스트 필드인지 여부를 나타냅니다. 값이 true
이면 텍스트 필드가 여러 행이고, 값이 false
이면 텍스트 필드가 한 행입니다. TextFieldType.INPUT
유형 필드에서 multiline
값은 Enter
키를 누를 때 새 행이 만들어지는지 여부를 결정합니다. 값이 false
이면 Enter
키가 무시됩니다. TextField
(multiline
값이 false
)에 텍스트를 붙여 넣으면 텍스트에서 개행 문자가 제거됩니다.
기본값: false.
구현
public function get multiline():Boolean
public function set multiline(value:Boolean):void
관련 API 요소
numLines | 속성 |
restrict | 속성 |
restrict:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
사용자가 텍스트 필드에 입력할 수 있는 문자 세트를 나타냅니다. restrict
속성 값이 null
이면 아무 문자나 입력할 수 있습니다. restrict
속성 값이 빈 문자열이면 어떠한 문자도 입력할 수 없습니다. restrict
속성 값이 문자열이면 이 문자열에 있는 문자만 텍스트 필드에 입력할 수 있습니다. 문자열은 왼쪽에서 오른쪽으로 검색되고, 하이픈(-) 문자를 사용하여 범위를 지정할 수 있습니다. 사용자 상호 작용만 제한되며 스크립트를 통해서는 텍스트 필드에 모든 텍스트를 입력할 수 있습니다. 이 속성은 속성 관리자의 글꼴 포함 옵션과 동기화되지 않습니다.
문자열이 캐럿(^)으로 시작되면 기본적으로 모든 문자가 허용되며 문자열에서 캐럿 이후의 문자는 허용되는 문자 세트에서 제외됩니다. 문자열이 캐럿(^)으로 시작되지 않으면 기본적으로 어떠한 문자도 허용되지 않으며 문자열에 있는 문자만 허용되는 문자 세트에 포함됩니다.
다음 예제에서는 대문자, 공백 및 숫자만 텍스트 필드에 입력할 수 있습니다.
my_txt.restrict = "A-Z 0-9";
다음 예제에서는 소문자를 제외한 모든 문자를 포함합니다.
my_txt.restrict = "^a-z";
백슬래시를 사용하여 ^ 또는 -를 입력할 수 있습니다. 또한 \-, \^, \\ 등의 백슬래시 시퀀스를 사용할 수 있습니다. 백슬래시는 문자열의 실제 문자여야 하므로 ActionScript에 지정될 때는 이중 백슬래시를 사용해야 합니다. 예를 들어 다음 코드에는 대시(-)와 캐럿(^)만 포함됩니다.
my_txt.restrict = "\\-\\^";
문자열의 아무 위치에서나 ^를 사용하여 포함 문자와 제외 문자를 전환할 수 있습니다. 다음 코드는 대문자 Q를 제외한 대문자만 포함합니다.
my_txt.restrict = "A-Z^Q";
\u
이스케이프 시퀀스를 사용하여 restrict
문자열을 구성할 수 있습니다. 다음 코드는 ASCII 32(공백)에서 ASCII 126(물결 표시)까지의 문자만 포함합니다.
my_txt.restrict = "\u0020-\u007E";
기본값: null.
구현
public function get restrict():String
public function set restrict(value:String):void
scrollH | 속성 |
scrollH:int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
현재 가로 스크롤 위치입니다. scrollH
속성이 0이면 텍스트가 가로 방향으로 스크롤되지 않은 것입니다. 이 속성 값은 가로 위치를 픽셀 단위로 나타내는 정수입니다.
가로 스크롤 단위는 픽셀인 반면 세로 스크롤 단위는 행입니다. 가로 스크롤을 픽셀 단위로 측정하는 이유는 일반적으로 사용하는 대부분의 글꼴은 간격이 비례적이므로 문자마다 폭이 다를 수 있기 때문입니다. Flash Player에서 세로 스크롤을 행 단위로 수행하는 이유는 일반적으로 텍스트의 행 일부가 아닌 전체 텍스트 행을 표시하는 것이 유용하기 때문입니다. 한 행에 여러 글꼴이 사용되는 경우 행의 높이는 사용 중인 가장 큰 글꼴에 맞게 조정됩니다.
참고: scrollH
속성은 0부터 시작하는 반면 scrollV
세로 스크롤 속성은 1부터 시작합니다.
구현
public function get scrollH():int
public function set scrollH(value:int):void
관련 API 요소
scrollV | 속성 |
scrollV:int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드에서 텍스트의 수직 위치입니다. scrollV
속성은 긴 텍스트에서 특정 단락으로 이동하거나 스크롤 텍스트 필드를 만들 때 유용합니다.
세로 스크롤 단위는 행인 반면 가로 스크롤 단위는 픽셀입니다. 표시된 첫 번째 행이 텍스트 필드의 첫 행인 경우 scrollV는 0이 아니라 1로 설정됩니다. 가로 스크롤을 픽셀 단위로 측정하는 이유는 대부분의 글꼴은 간격이 비례적이므로 문자마다 폭이 다를 수 있기 때문입니다. Flash에서 세로 스크롤을 행 단위로 수행하는 이유는 일반적으로 텍스트의 행 일부가 아닌 전체 텍스트 행을 표시하는 것이 유용하기 때문입니다. 한 행에 여러 글꼴이 사용되는 경우 행의 높이는 사용 중인 가장 큰 글꼴에 맞게 조정됩니다.
구현
public function get scrollV():int
public function set scrollV(value:int):void
관련 API 요소
selectable | 속성 |
selectable:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드를 선택할 수 있는지 여부를 나타내는 부울 값입니다. 값이 true
이면 텍스트를 선택할 수 있습니다. selectable
속성은 텍스트 필드를 편집할 수 있는지 여부가 아니라 텍스트 필드를 선택할 수 있는지 여부를 제어합니다. 동적 텍스트 필드는 편집할 수 없더라도 선택할 수 있습니다. 동적 텍스트 필드를 선택할 수 없게 하면 사용자가 텍스트를 선택할 수 없습니다.
selectable
을 false
로 설정하면 텍스트 필드의 텍스트가 마우스나 키보드의 선택 명령에 응답하지 않으며 [복사] 명령으로 텍스트를 복사할 수 없습니다. selectable
을 true
로 설정하면 마우스나 키보드로 텍스트 필드의 텍스트를 선택할 수 있고 [복사] 명령으로 텍스트를 복사할 수 있습니다. 텍스트 필드가 입력 텍스트 필드가 아닌 동적 텍스트 필드인 경우에도 이러한 방법으로 텍스트를 선택할 수 있습니다.
기본값: true.
구현
public function get selectable():Boolean
public function set selectable(value:Boolean):void
관련 API 요소
예제 ( 예제 사용 방법 )
selectable
속성이 true
로 설정된 텍스트 필드이고 다른 하나는 selectable
속성이 false
로 설정된 텍스트 필드입니다. 이 예제를 사용할 때는 마우스나 키보드를 사용하여 이러한 필드의 텍스트를 선택합니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class selectableExample extends Sprite { public function selectableExample() { var tf1:TextField = createCustomTextField(10, 10); tf1.text="This text can be selected"; tf1.selectable=true; var tf2:TextField = createCustomTextField(10, 30); tf2.text="This text cannot be selected"; tf2.selectable=false; } private function createCustomTextField(x:Number, y:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.autoSize=TextFieldAutoSize.LEFT; addChild(result); return result; } } }
selectionBeginIndex | 속성 |
selectionBeginIndex:int
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
현재 선택 영역에 있는 첫 문자의 문자 인덱스 값(0부터 시작)입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다. 선택한 텍스트가 없으면 이 속성은 caretIndex
의 값입니다.
구현
public function get selectionBeginIndex():int
관련 API 요소
예제 ( 예제 사용 방법 )
printCursorPosition
메서드가 호출됩니다. 이러한 경우 caretIndex
, selectionBeginIndex
및 selectionEndIndex
속성의 값이 출력됩니다.
이 예제를 실행하고 TextField를 클릭하여 텍스트를 선택해 봅니다. 그런 다음 텍스트를 선택하지 않고 필드를 클릭합니다. 텍스트를 선택하지 않고 텍스트를 클릭하면 caretIndex
속성에서 삽입점이 발생한 위치를 나타내고, selectionBeginIndex
및 selectionEndIndex
속성은 caretIndex
속성 값과 같습니다.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
selectionEndIndex | 속성 |
selectionEndIndex:int
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
현재 선택 영역에 있는 마지막 문자의 문자 인덱스 값(0부터 시작)입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다. 선택한 텍스트가 없으면 이 속성은 caretIndex
의 값입니다.
구현
public function get selectionEndIndex():int
관련 API 요소
예제 ( 예제 사용 방법 )
printCursorPosition
메서드가 호출됩니다. 이러한 경우 caretIndex
, selectionBeginIndex
및 selectionEndIndex
속성의 값이 출력됩니다.
이 예제를 실행하고 TextField를 클릭하여 텍스트를 선택해 봅니다. 그런 다음 텍스트를 선택하지 않고 필드를 클릭합니다. 텍스트를 선택하지 않고 텍스트를 클릭하면 caretIndex
속성에서 삽입점이 발생한 위치를 나타내고, selectionBeginIndex
및 selectionEndIndex
속성은 caretIndex
속성 값과 같습니다.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
sharpness | 속성 |
sharpness:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 텍스트 필드의 글리프 가장자리 선명도입니다. 이 속성은 텍스트 필드의 flash.text.AntiAliasType
속성을 flash.text.AntiAliasType.ADVANCED
로 설정한 경우에만 적용됩니다. sharpness
의 범위는 -400에서 400 사이입니다. sharpness
를 이 범위에서 벗어난 값으로 설정하면 속성이 범위 내의 가장 가까운 값(-400 또는 400)으로 설정됩니다.
기본값: 0.
구현
public function get sharpness():Number
public function set sharpness(value:Number):void
관련 API 요소
예제 ( 예제 사용 방법 )
sharpness
속성을 변경하는 효과를 보여 줍니다. 글꼴을 포함하고 antiAliasType
속성을 ADVANCED
로 설정해야 합니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class sharpnessExample extends Sprite { public function sharpnessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-400); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,400); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldSharpness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.sharpness=fldSharpness; result..setTextFormat(format); addChild(result); return result; } } }
styleSheet | 속성 |
styleSheet:StyleSheet
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드에 스타일 시트를 연결합니다. 스타일 시트를 만드는 방법에 대한 자세한 내용은 StyleSheet 클래스 및 ActionScript 3.0 개발자 안내서를 참조하십시오.
언제든지 텍스트 필드에 연결된 스타일 시트를 변경할 수 있습니다. 사용 중인 스타일 시트를 변경하면 텍스트 필드가 새 스타일 시트를 사용하여 다시 그려집니다. 스타일 시트를 null
또는 undefined
로 설정하여 스타일 시트를 제거할 수 있습니다. 사용 중인 스타일 시트를 제거하면 스타일 시트 없이 텍스트 필드가 다시 그려집니다.
참고: 스타일 시트를 제거하면 TextField.text
및 TextField.htmlText
의 내용이 변경되어 이전에 스타일 시트에 의해 적용된 서식이 통합됩니다. 서식 지정 없이 원래 TextField.htmlText
내용을 유지하려면 스타일 시트를 제거하기 전에 값을 변수에 저장하십시오.
구현
public function get styleSheet():StyleSheet
public function set styleSheet(value:StyleSheet):void
관련 API 요소
예제 ( 예제 사용 방법 )
stylesheet
속성은 내용을 설정하기 전에 설정해야 합니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.StyleSheet; public class TextStylesheetExample extends Sprite { var myLabel:TextField = new TextField(); var labelText:String = "Hello world."; var newStyle:StyleSheet = new StyleSheet(); public function TextStylesheetExample() { var styleObj:Object = new Object(); styleObj.fontWeight = "bold"; styleObj.color = "#660066"; newStyle.setStyle(".defStyle", styleObj); myLabel.styleSheet=newStyle; myLabel.htmlText=labelText; addChild(myLabel); } } }
text | 속성 |
text:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드의 현재 텍스트인 문자열입니다. 각 행은 캐리지 리턴 문자('\r'
, ASCII 13)로 구분됩니다. 이 속성에는 HTML 태그를 제외한 텍스트 필드의 서식 없는 텍스트가 포함됩니다.
HTML 형식의 텍스트를 가져오려면 htmlText
속성을 사용합니다.
참고: 스타일 시트가 텍스트 필드에 적용되면 text
속성의 내용은 HTML로 해석됩니다.
구현
public function get text():String
public function set text(value:String):void
관련 API 요소
예제 ( 예제 사용 방법 )
tf1
이라는 TextField를 만들고 text
속성에 HTML 형식 문자열을 할당합니다. htmlText
속성을 추적하면, <P> 및 <FONT> 등의 추가 태그가 Flash Player에서 자동으로 추가된 상태로 HTML 형식 문자열이 출력됩니다. text
속성의 값을 추적하면 서식 없는 문자열이 HTML 태그 없이 표시됩니다.
그런 다음 비교를 위해 tf2
라는 TextField 객체에 동일한 단계를 수행하고, 이번에는 htmlText
속성을 설정하기 전에 tf2
의 styleSheet
속성에 StyleSheet 객체를 할당합니다. 이 경우 htmlText
속성을 추적하면 htmlText
속성에 원래 할당했던 HTML 텍스트만 그대로 포함되며 Flash Player에서 태그를 추가하지 않는 것을 볼 수 있습니다.
package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; public class TextField_text extends Sprite { public function TextField_text() { var tf1:TextField = createCustomTextField(10, 10, 400, 22); tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><b>Lorem ipsum dolor sit amet.</b></FONT></P> trace("htmlText: " + tf1.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf1.text); var tf2:TextField = createCustomTextField(10, 50, 400, 22); tf2.styleSheet = new StyleSheet(); tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <b>Lorem ipsum dolor sit amet.</b> trace("htmlText: " + tf2.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf2.text); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
textColor | 속성 |
textColor:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드의 16진수 형식 텍스트 색상입니다. 16진수 색상 시스템은 여섯 자리 숫자를 사용하여 색상 값을 나타냅니다. 각 자리 숫자에는 16개의 값 또는 문자를 사용할 수 있습니다. 문자 범위는 0-9 및 A-F입니다. 예를 들어 검정은 0x000000
이고 흰색은 0xFFFFFF
입니다.
기본값: 0 (0x000000).
구현
public function get textColor():uint
public function set textColor(value:uint):void
예제 ( 예제 사용 방법 )
textColor
속성을 빨강(0xFF0000
)으로 변경합니다.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textColor extends Sprite { public function TextField_textColor() { var tf:TextField = createCustomTextField(10, 10, 100, 300); tf.text = "This will be red text"; tf.textColor = 0xFF0000; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
textHeight | 속성 |
textHeight:Number
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트의 높이(픽셀 단위)입니다.
구현
public function get textHeight():Number
관련 API 요소
예제 ( 예제 사용 방법 )
trace
문은 textWidth
및 textHeight
속성 값을 표시합니다. 비교를 위해 width
및 height
속성도 표시됩니다. 이때 표시되는 textHeight
및 textWidth
값은 컴퓨터에 사용되는 글꼴에 따라 다를 수 있습니다.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textHeight extends Sprite { public function TextField_textHeight() { var tf:TextField = createCustomTextField(10, 10, 100, 150); tf.text = "Sample text"; trace("textWidth: " + tf.textWidth); // textWidth: 55.75 trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001 trace("width: " + tf.width); // width: 100 trace("height: " + tf.height); // height: 150 } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; result.background = true; addChild(result); return result; } } }
textInteractionMode | 속성 |
textInteractionMode:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 11, Flash Lite 4 |
상호 작용 모드 속성으로서, 기본값은 TextInteractionMode.NORMAL입니다. 모바일 플랫폼의 경우 일반 모드에서 텍스트를 스크롤할 수 있지만 선택할 수는 없습니다. 텍스트 필드에 내장된 컨텍스트 메뉴를 통해 선택할 수 있는 모드로 전환합니다. 데스크톱의 경우 일반 모드에서 텍스트를 스크롤할 수도 있고 선택할 수도 있습니다.
구현
public function get textInteractionMode():String
textWidth | 속성 |
textWidth:Number
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트의 폭(픽셀 단위)입니다.
구현
public function get textWidth():Number
관련 API 요소
예제 ( 예제 사용 방법 )
trace
문은 textWidth
및 textHeight
속성 값을 표시합니다. 비교를 위해 width
및 height
속성도 표시됩니다. 이때 표시되는 textHeight
및 textWidth
값은 컴퓨터에 사용되는 글꼴에 따라 다를 수 있습니다.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textHeight extends Sprite { public function TextField_textHeight() { var tf:TextField = createCustomTextField(10, 10, 100, 150); tf.text = "Sample text"; trace("textWidth: " + tf.textWidth); // textWidth: 55.75 trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001 trace("width: " + tf.width); // width: 100 trace("height: " + tf.height); // height: 150 } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; result.background = true; addChild(result); return result; } } }
thickness | 속성 |
thickness:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 텍스트 필드의 글리프 가장자리 두께입니다. 이 속성은 flash.text.AntiAliasType
을 flash.text.AntiAliasType.ADVANCED
로 설정한 경우에만 적용됩니다.
thickness
의 범위는 -200에서 200 사이입니다. thickness
를 이 범위에서 벗어난 값으로 설정하면 속성이 범위 내의 가장 가까운 값(-200 또는 200)으로 설정됩니다.
기본값: 0.
구현
public function get thickness():Number
public function set thickness(value:Number):void
관련 API 요소
예제 ( 예제 사용 방법 )
thickness
속성을 변경하는 효과를 보여 줍니다. 글꼴을 포함하고 antiAliasType
속성을 ADVANCED
로 설정해야 합니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class thicknessExample extends Sprite { public function thicknessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-200); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,200); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldThickness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.thickness=fldThickness; result.setTextFormat(format); addChild(result); return result; } } }
type | 속성 |
type:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드의 유형입니다. 값으로는 TextFieldType 상수 중 하나가 사용됩니다. TextFieldType.DYNAMIC
은 사용자가 편집할 수 없는 동적 텍스트 필드를, TextFieldType.INPUT
은 사용자가 편집할 수 있는 입력 텍스트 필드를 지정합니다.
기본값: dynamic.
구현
public function get type():String
public function set type(value:String):void
오류
ArgumentError — 지정된 type 이 flash.text.TextFieldType의 멤버가 아닙니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
tfDynamic
및 tfInput
을 만듭니다. 두 텍스트 필드에 텍스트를 입력합니다. 그러나 tfDynamic
의 type
속성은 TextFieldType.DYNAMIC
으로 설정되어 있고 tfInput
의 type
속성은 TextFieldType.INPUT
으로 설정되어 있으므로 사용자는 tfInput
의 텍스트를 수정할 수 있지만 tfDynamic
의 텍스트는 볼 수만 있습니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_type extends Sprite { public function TextField_type() { var tfDynamic:TextField = createCustomTextField(10, 10, 100, 20); tfDynamic.type = TextFieldType.DYNAMIC; tfDynamic.text = "hello"; var tfInput:TextField = createCustomTextField(10, 45, 100, 20); tfInput.type = TextFieldType.INPUT; tfInput.text = "world"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } }
useRichTextClipboard | 속성 |
useRichTextClipboard:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
텍스트와 함께 텍스트 서식을 복사하여 붙여 넣을지 여부를 지정합니다. true
로 설정하면 텍스트 필드 간에 텍스트를 복사하여 붙여 넣을 때 Flash Player에서 정렬, 굵게, 기울임체 등의 서식을 함께 복사하여 붙여 넣습니다. 이때 복사하여 붙여 넣는 원본 텍스트 필드와 대상 텍스트 필드 모두에서 useRichTextClipboard
를 true
로 설정해야 합니다. 기본값은 false
입니다.
구현
public function get useRichTextClipboard():Boolean
public function set useRichTextClipboard(value:Boolean):void
예제 ( 예제 사용 방법 )
tf1
)와 두 개의 동적 텍스트 필드(tf2
및 tf3
)를 만듭니다. 코드는 각 동적 텍스트 필드에 TextFormat 객체(Courier Bold 글꼴)를 할당합니다. tf2
텍스트 필드에는 false
로 설정된 useRichTextClipboard
속성이 있습니다. tf3
텍스트 필드에는 true
로 설정된 useRichTextClipboard
속성이 있습니다. tf2
텍스트 필드에서 텍스트를 복사하여 tf1
텍스트 필드에 붙여넣을 경우 붙여넣은 텍스트에는 서식이 포함되지 않습니다. useRichTextClipboard
가 true
로 설정된 tf3
텍스트 필드에서 텍스트를 복사하여 tf1
텍스트 필드에 붙여넣을 경우 붙여넣은 텍스트에는 서식이 포함됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFormat; public class useRichTextClipboard extends Sprite { public function useRichTextClipboard() { var format1:TextFormat = new TextFormat(); format1.font="Courier"; format1.bold=true; var tf1:TextField = createCustomTextField(10, 10, 200, 20); tf1.type=TextFieldType.INPUT; tf1.useRichTextClipboard=true; var tf2:TextField = createCustomTextField(220, 10, 200, 20); tf2.text="1.Text loses format"; tf2.setTextFormat(format1); tf2.useRichTextClipboard=false; var tf3:TextField = createCustomTextField(220, 50, 200, 20); tf3.text="2.Text includes format"; tf3.setTextFormat(format1); tf3.useRichTextClipboard=true; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } }
wordWrap | 속성 |
wordWrap:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드에 자동 줄 바꿈이 사용되는지 여부를 나타내는 부울 값입니다. wordWrap
값이 true
이면 텍스트 필드에 줄 바꿈이 적용되고, 값이 false
이면 텍스트 필드에 줄 바꿈이 적용되지 않습니다. 기본값은 false
입니다.
구현
public function get wordWrap():Boolean
public function set wordWrap(value:Boolean):void
예제 ( 예제 사용 방법 )
wordWrap
속성을 true
로 설정할 때와 false
로 설정할 때의 차이를 보여 줍니다. 폭에 비해 내용이 너무 많은 두 개의 TextField 인스턴스를 만듭니다. wordWrap
속성을 첫 번째 인스턴스(tfWrap
)의 경우에는 true
로, 두 번째 인스턴스(tfNoWrap
)의 경우에는 false
로 설정합니다.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_wordWrap extends Sprite { public function TextField_wordWrap() { var tfWrap:TextField = createCustomTextField(10, 10, 100, 100); tfWrap.wordWrap = true; tfWrap.text = "(wordWrap = true):\nThis is very long text that will certainly extend beyond the width of this text field"; var tfNoWrap:TextField = createCustomTextField(10, 150, 100, 100); tfNoWrap.wordWrap = false; tfNoWrap.text = "(wordWrap = false):\nThis is very long text that will certainly extend beyond the width of this text field"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } }
TextField | () | 생성자 |
public function TextField()
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
새 TextField 인스턴스를 만듭니다. TextField 인스턴스를 만든 후 부모 DisplayObjectContainer 객체의 addChild()
또는 addChildAt()
메서드를 호출하여 TextField 인스턴스를 표시 목록에 추가합니다.
텍스트 필드의 기본 크기는 100 x 100픽셀입니다.
예제 ( 예제 사용 방법 )
var theTextField:TextField = new TextField(); theTextField.type = TextFieldType.INPUT; theTextField.border = true; theTextField.x = 10; theTextField.y = 10; theTextField.multiline = true; theTextField.wordWrap = true; addChild(theTextField);
appendText | () | 메서드 |
public function appendText(newText:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
newText
매개 변수에 지정된 문자열을 텍스트 필드의 텍스트 끝에 추가합니다. 이 메서드는 추가 할당(+=
)을 text
속성(예: someTextField.text += moreText
)에 하는 것보다 효율적입니다. 특히 내용이 많은 텍스트 필드의 경우에 유용합니다.
매개 변수
newText:String — 기존 텍스트에 추가할 문자열입니다.
|
예제 ( 예제 사용 방법 )
outputText
텍스트 필드는 자동으로 텍스트에 맞게 설정되고 autoSize
속성을 사용해 왼쪽 정렬 텍스트로 크기를 조정합니다. outputText.text
속성은 내용의 첫 번째 줄을 쓰고 appendText()
메서드가 나머지 내용을 추가합니다. 반드시 text
속성으로 시작할 필요는 없습니다. appendText()
메서드는 바깥쪽에서부터 텍스트를 추가하는 용도로 사용할 수도 있습니다. text
속성을 다시 설정하면 원래의 텍스트를 덮어쓰게 됩니다. +=
연산자를 사용해서 text
속성으로 내용을 추가합니다.
if
문은 날짜가 토요일(6) 또는 일요일(0)인지 확인합니다. 토요일이나 일요일이 아닐 경우 toLocaleTimeString()
메서드가 현지 시간 값을 반환하고 이것이 텍스트 필드의 내용에 추가됩니다.
텍스트 필드의 length
속성을 사용해서 함수가 호출되기 직전까지 문자 수를 읽고 numLines
속성을 사용해서 텍스트 필드의 줄 수를 계산합니다. 유의할 것은 빈 줄 역시 줄 수에 포함되며 공백과 줄 바꿈(\n)은 내용 길이 계산에 포함됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_appendTextExample extends Sprite { public function TextField_appendTextExample() { var outputText:TextField = new TextField(); var today:Date = new Date(); outputText.x = 10; outputText.y = 10; outputText.background = true; outputText.autoSize = TextFieldAutoSize.LEFT; outputText.text = "WHAT TIME IS IT?" + "\n\n"; if((today.day == 0) || (today.day == 6)) { outputText.appendText("It's the weekend."); outputText.appendText("\n\n"); } else { outputText.appendText("The time is: "); outputText.appendText(today.toLocaleTimeString() + ".\n\n"); } outputText.appendText("Number of characters including line breaks and spaces so far: "); outputText.appendText(outputText.length.toString() + "\n"); outputText.appendText("Number of lines in the outputText: "); outputText.appendText(outputText.numLines.toString()); this.addChild(outputText); } } }
getCharBoundaries | () | 메서드 |
public function getCharBoundaries(charIndex:int):Rectangle
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
문자의 경계 상자인 사각형을 반환합니다.
매개 변수
charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 위치는 0, 두 번째 위치는 1입니다.
|
Rectangle — 문자의 경계 상자를 정의하는 x 및 y 의 최소값과 최대값으로 그린 사각형입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
getCharBoundaries()
메서드를 사용해서 사용자가 선택한 문자를 표시합니다(스포트라이트를 둠).
이 클래스는 선택된 각 문자 주위에 사각형을 그리기 위해 사용할 spotlight
Shape 객체를 정의하고 있습니다. 사용자가 myTextField
텍스트 필드를 클릭하면 clickHandler()
메서드가 호출됩니다.
clickHandler()
메서드에서 getCharIndexAtPoint()
메서드는 클릭한 문자의 인덱스를 마우스로 클릭한 localX
및 localY
좌표값에 기초해서 가져오며, 이 좌표는 포함하고 있는 Sprite
를 기준으로 합니다. getCharIndexAtPoint()
메서드는 포인트(마우스 클릭)가 문자 위에 있지 않으면 -1
을 반환합니다. 텍스트 필드가 텍스트보다 더 클 수 있기 때문에 반환된 정수(index
)를 점검해서 사용자가 문자를 클릭했는지 확인합니다. 또한 index
정수를 getCharBoundaries()
가 사용해서 문자의 경계를 정하는 Rectangle
객체를 가져옵니다. clear()
메서드는 이전에 표시된 spotlight
Shape 객체를 지웁니다. 문자의 너비와 높이 경계 크기의 새로운 사각형이 문자 위치에((10, 10) 좌표로부터 오프셋) 반환된 frame
사각형의 x 및 y 좌표를 사용해서 만들어집니다. 문자에 스포트라이트를 주려면 spotlight
Shape 객체를 노란색으로 채우고 불투명도는 35%로 설정해 문자가 눈에 띄도록 만듭니다. 공간도 문자로 인식된다는 점에 주의하십시오.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.geom.Rectangle; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; import flash.display.Shape; public class TextField_getCharBoundariesExample extends Sprite { private var myTextField:TextField = new TextField(); private var spotlight:Shape = new Shape(); public function TextField_getCharBoundariesExample() { myTextField.x = 10; myTextField.y = 10; myTextField.border = true; myTextField.selectable = false; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.text = "Selected a character from this text by clicking on it." myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); this.addChild(spotlight); } private function clickHandler (e:MouseEvent):void { var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if (index != -1) { var frame:Rectangle = myTextField.getCharBoundaries(index); spotlight.graphics.clear(); spotlight.graphics.beginFill(0xFFFF00, .35); spotlight.graphics.drawRect((frame.x + 10), (frame.y + 10), frame.width, frame.height); spotlight.graphics.endFill(); } } } }
getCharIndexAtPoint | () | 메서드 |
public function getCharIndexAtPoint(x:Number, y:Number):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
x
및 y
매개 변수로 지정된 점에 있는 문자의 인덱스 값(0부터 시작)을 반환합니다.
매개 변수
x:Number — 문자의 x 좌표입니다.
| |
y:Number — 문자의 y 좌표입니다.
|
int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 위치는 0, 두 번째 위치는 1입니다. 점이 문자 위에 있지 않으면 -1이 반환됩니다.
|
예제 ( 예제 사용 방법 )
첫 번째 텍스트 필드는 사용자가 선택할 텍스트를 담습니다. 텍스트를 클릭해도 선택되지 않도록 하려면 selectable
속성을 false로 설정합니다. 사용자가 firstTextField
텍스트 필드를 클릭하면 clickHandler()
메서드가 호출됩니다.
clickHandler()
메서드에서 getCharIndexAtPoint()
메서드는 마우스로 클릭한 localX
및 localY
좌표를 기준으로 문자의 인덱스를 반환합니다. 텍스트 필드가 텍스트보다 더 클 수 있기 때문에 반환한 정수(index
)를 점검해서 사용자가 문자를 클릭했는지 확인합니다. getCharIndexAtPoint()
메서드는 포인트(마우스 클릭)가 문자 위에 있지 않으면 -1
을 반환합니다. 마우스 좌표를 사용해서 복사된 문자가 나타날 새로운 텍스트 필드의 좌표를 설정합니다. 두 번째 텍스트 필드의 문자 색상은 빨강으로 설정됩니다. 마지막으로 두 번째 필드의 텍스트는 선택된 문자로 설정되며, 이 문자는 charAt()
메서드를 사용해 검색됩니다. text
속성을 appendText()
메서드 대신 사용할 경우 해당 문자를 추가하는 대신 두 번째 텍스트 필드에서 덮어쓰게 됩니다.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.geom.Rectangle; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; public class TextField_getCharIndexAtPointExample extends Sprite { private var firstTextField:TextField = new TextField(); private var secondTextField:TextField = new TextField(); public function TextField_getCharIndexAtPointExample() { firstTextField.x = 100; firstTextField.y = 100; firstTextField.width = 260; firstTextField.height = 20; firstTextField.border = true; firstTextField.background = true; firstTextField.selectable = false; firstTextField.text = "Selected a character from this text by clicking on it." firstTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(firstTextField); this.addChild(secondTextField); } private function clickHandler (e:MouseEvent):void { var index:int = firstTextField.getCharIndexAtPoint(e.localX, e.localY); if (index != -1) { secondTextField.x = mouseX; secondTextField.y = 70; secondTextField.border = true; secondTextField.selectable = false; secondTextField.background = true; secondTextField.textColor = 0xFF0000; secondTextField.autoSize = TextFieldAutoSize.LEFT; secondTextField.text = firstTextField.text.charAt(index); } } } }
getFirstCharInParagraph | () | 메서드 |
public function getFirstCharInParagraph(charIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 문자 인덱스와 같은 단락에 있는 첫 문자의 인덱스를 반환합니다.
매개 변수
charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.
|
int — 동일한 단락에 있는 첫 문자의 인덱스 값(0부터 시작)입니다.
|
오류
RangeError — 지정된 문자 인덱스가 범위를 벗어납니다.
|
예제 ( 예제 사용 방법 )
생성자에서는 myTextField
텍스트 필드가 줄 바꿈으로 설정됩니다. getTextFormat
메서드가 텍스트 필드 내용에서 첫 문자의 원래 서식을 반환하고, 해당 메서드는 originalFormat
TextFormat 객체에 위치하게 됩니다. 새로운 TextFormat 객체(newFormat
)가 정의되고 align
속성이 오른쪽 정렬로 할당됩니다. 사용자가 텍스트 필드를 클릭하면 clickHandler()
메서드가 호출됩니다.
clickHandler()
메서드에서 getCharIndexAtPoint()
메서드는 마우스로 클릭한 localX
및 localY
좌표를 기준으로 문자의 인덱스를 반환합니다. 첫 번째 if
문은 사용자가 문자를 클릭했는지 여부를 확인합니다. getCharIndexAtPoint()
메서드가 반환한 clickIndex
정수를 사용해서 getFirstCharInParagraph()
메서드는 사용자가 클릭한 단락에서 첫 번째 문자의 인덱스를 반환합니다. 단락의 마지막 문자 인덱스는 단락의 길이를(getParagraphLength()
메서드 사용) 단락의 첫 번째 문자 인덱스에 더하고 마지막 문자 \n
를 빼서 결정합니다. 두 번째 if
문은 단락의 첫 번째 문자가 지닌 서식을 확인합니다. 정렬 값이 원래 서식(왼쪽 정렬)과 같을 경우, 새로운 서식이 단락의 모든 문자에 적용됩니다. 그렇지 않을 경우, 단락의 서식은 원래의 서식으로 되돌아갑니다. 정렬은 들여쓰기, 불릿, 탭 정지, 왼쪽 및 오른쪽 여백과 같은 서식과 함께 단락에서 사용하는 서식입니다. 줄 바꿈이나 행 분할을 사용할 경우 endIndex
인수가setTextFormat()
메서드용으로 정의되지 않으면 서식은 단락의 첫 번째 줄에만 적용됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; import flash.text.TextFormat; import flash.text.TextFormatAlign; public class TextField_getFirstCharInParagraphExample extends Sprite { private var myTextField:TextField = new TextField(); private var originalFormat:TextFormat = new TextFormat(); private var newFormat:TextFormat = new TextFormat(); public function TextField_getFirstCharInParagraphExample() { myTextField.x = 10; myTextField.y = 10; myTextField.border = true; myTextField.wordWrap = true; myTextField.width = 300; myTextField.height = 300; myTextField.background = true; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file " + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n" + "To create a text field dynamically, use the TextField constructor.\n\n" + "The methods of the TextField class let you set, select, and manipulate " + "text in a dynamic or input text field that you create during authoring or at runtime.\n\n"); originalFormat = myTextField.getTextFormat(0); newFormat.align = TextFormatAlign.RIGHT; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); } private function clickHandler(e:MouseEvent):void { var clickIndex:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if(clickIndex != -1) { var paragraphFirstIndex:int = myTextField.getFirstCharInParagraph(clickIndex); var paragraphEndIndex:int = paragraphFirstIndex + ((myTextField.getParagraphLength(clickIndex) - 1)); if (myTextField.getTextFormat(paragraphFirstIndex).align == originalFormat.align) { myTextField.setTextFormat(newFormat, paragraphFirstIndex, paragraphEndIndex); }else { myTextField.setTextFormat(originalFormat, paragraphFirstIndex, paragraphEndIndex); } } } } }
getImageReference | () | 메서드 |
public function getImageReference(id:String):DisplayObject
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
<img>
태그를 사용하여 HTML 형식 텍스트 필드에 추가한 이미지 또는 SWF 파일에 지정된 id
의 DisplayObject 참조를 반환합니다. <img>
태그의 형식은 다음과 같습니다.
<img src = 'filename.jpg' id = 'instanceName' >
매개 변수
id:String — <img> 태그의 id 특성에서 비교할 id 입니다.
|
DisplayObject — 텍스트 필드의 <img> 태그에 있는 id 특성과 일치하는 이미지 또는 SWF 파일에 해당하는 표시 객체입니다. 외부 소스에서 로드한 미디어의 경우 이 객체는 Loader 객체이며 로드된 미디어 객체는 이 Loader 객체의 자식이 됩니다. SWF 파일에 포함된 미디어의 경우 이 객체는 로드된 객체입니다. 어떠한 <img> 태그의 id 도 일치하지 않으면 null 이 반환됩니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
이미지(image.jpg
)는 HTML을 통해 포함됩니다. 여기에서는 이미지 파일이 SWF 파일과 동일한 디렉토리에 있는 것으로 가정합니다. id
특성은 getImageReference()
메서드를 사용해 이미지에 액세스하기 위해 img
태그를 정의할 필요가 있습니다. htmlText
속성은 HTML 형식의 문자열 내용을 포함시키는 데 사용됩니다. 사용자가 myTextField
텍스트 필드를 클릭하면 clickHandler()
메서드가 호출됩니다.
clickHandler()
메서드에서 getImageReference()
메서드는 이미지에 대한 참조를 DisplayObject
로 반환합니다. 이 참조를 사용해서 이미지를 DisplayObject
객체처럼 조작할 수 있습니다. 여기에서는 alpha
(투명도)와 rotation
속성이 설정됩니다. 또한 transform
속성을 사용해서 디스플레이 객체의 행렬, 색상 변환 및 픽셀 경계에 액세스할 수 있습니다. flash.display.DisplayObject
를 가져 올 필요가 있습니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.Event; import flash.events.MouseEvent; import flash.display.DisplayObject; import flash.text.TextFieldAutoSize; public class TextField_getImageReferenceExample extends Sprite { private var myTextField:TextField = new TextField(); public function TextField_getImageReferenceExample() { var myText1:String = "<p>Here is an image we want to mainpulate: <img src='image.jpg' id='testimage'></p>"; myTextField.x = 10; myTextField.y = 10; myTextField.width = 250; myTextField.height = 250; myTextField.background = true; myTextField.border = true; myTextField.border = true; myTextField.multiline = true; myTextField.htmlText = myText1; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); } private function clickHandler(e:MouseEvent):void { var imageRef:DisplayObject = myTextField.getImageReference("testimage"); imageRef.rotation += 90; imageRef.x = 125; imageRef.y = 125; imageRef.alpha = 0.25; } } }
getLineIndexAtPoint | () | 메서드 |
public function getLineIndexAtPoint(x:Number, y:Number):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
x
및 y
매개 변수로 지정된 점에 있는 행의 인덱스 값(0부터 시작)을 반환합니다.
매개 변수
x:Number — 줄의 x 좌표입니다.
| |
y:Number — 줄의 y 좌표입니다.
|
int — 0부터 시작하는 줄 인덱스 값입니다. 예를 들어 첫 번째 줄은 0, 두 번째 줄은 1입니다. 해당 지점이 줄 위에 있지 않으면 -1이 반환됩니다.
|
예제 ( 예제 사용 방법 )
생성자에서, poem
텍스트 필드는 줄을 바꾸지 않도록 설정되어 있습니다(시는 줄을 바꾸지 않음). autoSize
속성은 또한 자동으로 텍스트를 맞추는 데 사용되며 텍스트를 왼쪽으로 정렬할 수도 있습니다. poemCopy
텍스트 필드는 poem
텍스트 필드 아래에 위치합니다. 사용자가 시의 일부를 클릭하면 clickHandler()
메서드가 호출됩니다.
clickHandler()
메서드에서 getLineIndexAtPoint()
메서드는 마우스로 클릭한 localX
및 localY
좌표를 기준으로 사용자가 클릭한 곳의 행 인덱스를 반환합니다. 원래의 시는 텍스트 필드의 크기에 맞춰 조정되었기 때문에, 범위 이탈 오류(RangeError
)를 getCharIndexAtPoint()
메서드로 확인할 필요가 없습니다. 그리고 행 인덱스를 사용해서 getLineText()
메서드로 행의 내용을 문자열로 가져오면 poemCopy
텍스트 필드에 내용이 추가됩니다. 이렇게 복사를 계속해 나갈 수도 있지만 일정 시점이 지나면 텍스트가 표시 가능한 poemCopy
텍스트 필드의 범위를 벗어나게 됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; public class TextField_getLineIndexAtPointExample extends Sprite { private var poem:TextField = new TextField(); private var poemCopy:TextField = new TextField(); public function TextField_getLineIndexAtPointExample() { poem.border = true; poem.autoSize = TextFieldAutoSize.LEFT; poem.x = 10; poem.wordWrap = false; poemCopy.height = 250; poemCopy.width = 270; poemCopy.y = 230; poemCopy.x = 10; poemCopy.background = true; poemCopy.border = true; poemCopy.wordWrap = false; poem.appendText("Let me not to the marriage of true minds\n" + "Admit impediments. love is not love\n" + "Which alters when it alteration finds\n" + "Or bends with the remover to remove:\n" + "O no! it is an ever-fixed mark\n" + "That looks on tempests and is never shaken;\n" + "It is the star to every wandering bark,\n" + "Whose worth's unknown, although his height be taken.\n" + "Love's not Time's fool, though rosy lips and cheeks\n" + "Within his bending sickle's compass come:\n" + "Love alters not with his brief hours and weeks,\n" + "But bears it out even to the edge of doom.\n" + "If this be error and upon me proved,\n" + "I never writ, nor no man ever loved."); poem.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(poem); this.addChild(poemCopy); } private function clickHandler(e:MouseEvent):void { var index:int = poem.getLineIndexAtPoint(e.localX, e.localY); var s:String; s = poem.getLineText(index); poemCopy.appendText(s + "\n"); } } }
getLineIndexOfChar | () | 메서드 |
public function getLineIndexOfChar(charIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
charIndex
매개 변수로 지정된 문자가 들어 있는 행의 인덱스 값(0부터 시작)을 반환합니다.
매개 변수
charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.
|
int — 0부터 시작하는 줄 인덱스 값입니다.
|
오류
RangeError — 지정된 문자 인덱스가 범위를 벗어납니다.
|
예제 ( 예제 사용 방법 )
getLineIndexOfChar()
메서드가 텍스트 필드의 100번째와 500번째 문자의 행 번호를 반환합니다.
myTextField
텍스트 필드가 줄 바꿈으로 정의되고 왼쪽 정렬 텍스트로 조정됩니다. getLineIndexOfChar()
메서드가 지정된 문자 인덱스(100과 500)의 행 인덱스를 반환합니다. 이 정보는 단락 뒤에 추가됩니다. 행 인덱스는 0으로 시작하기 때문에 행 인덱스(index
)가 1씩 증가하여 행 번호를 가져옵니다. 또한 표시 범위의 크기가 조정되면 행 번호가 변할 수 있지만 메서드는 한번만 호출되므로 여기에 있는 정보는 그대로 유지됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_getLineIndexOfCharExample extends Sprite { public function TextField_getLineIndexOfCharExample() { var myTextField:TextField = new TextField(); myTextField.x = 10; myTextField.y = 10; myTextField.width = 200; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file" + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n"); var index:int = myTextField.getLineIndexOfChar(100); myTextField.appendText("100th character is in line: " + (index + 1) + "\n"); index = myTextField.getLineIndexOfChar(500); myTextField.appendText("500th character is in line: " + (index + 1)); this.addChild(myTextField); } } }
getLineLength | () | 메서드 |
public function getLineLength(lineIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
특정 텍스트 행의 문자 수를 반환합니다.
매개 변수
lineIndex:int — 길이를 확인할 줄 번호입니다.
|
int — 줄의 문자 수입니다.
|
오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.
|
예제 ( 예제 사용 방법 )
일례로, 수를 계산할 텍스트를 표시하는 myTextField
텍스트 필드가 INPUT
으로 설정되는데, 이것은 사용자가 실제로 행을 변경하거나 행 사이 또는 끝에 행을 추가할 수 있다는 것을 의미합니다. 마지막 행 끝에 줄 바꿈(\n
)을 사용해 빈 행이 만들어 졌습니다. 행 길이를 계산한 결과가 표시되는 countLines
텍스트 필드는 myTextField
텍스트 필드 아래에 설정되고, 텍스트는 선택이 불가능합니다. 사용자가 myTextField
텍스트 필드의 한 행을 클릭하면 clickHandler()
메서드가 호출됩니다.
clickHandler()
메서드에서 getLineIndexAtPoint()
메서드는 마우스로 클릭한 localX
및 localY
좌표를 사용해서 사용자가 클릭한 곳의 행 인덱스를 반환합니다. if
문은 사용자가 문자를 클릭했는지 여부를 확인합니다. 만일 그렇다면, 행의 인덱스를 사용하는 getLineLength()
메서드가 해당 행의 문자 수를 반환합니다. 행 사이의 빈 행들은 두 번째 줄 바꿈(\n
)을 포함하며 1개 문자로 카운트되는 반면 마지막 행 다음의 행은 0으로 카운트됩니다. 공백 역시 문자 1개로 카운트됩니다. 사용자는 새로운 행을 쓰거나 행을 변경할 수 있고 행을 클릭하면 해당 행의 문자 카운트 값을 가져올 수 있습니다. 줄 바꿈을 사용하고 화면 크기가 재조정된 경우 행 인덱스가 변경될 수 있습니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.events.Event; import flash.events.MouseEvent; public class TextField_getLineLengthExample extends Sprite { private var myTextField:TextField = new TextField(); private var countLines:TextField = new TextField(); public function TextField_getLineLengthExample() { myTextField.x = 10; myTextField.y = 10; myTextField.width = 350; myTextField.height = 150; myTextField.background = true; myTextField.border = true; myTextField.type = TextFieldType.INPUT; myTextField.appendText("Click on the lines to count its number of characters:\n\n"); myTextField.appendText("This is a short line.\n"); myTextField.appendText("This is a longer line than the last line.\n\n"); myTextField.appendText("This one is even longer than the one before. It has two sentences.\n"); this.addChild(myTextField); countLines.border = true; countLines.x = 10; countLines.y = 180; countLines.height = 30; countLines.width = 200; countLines.background = true; countLines.selectable = false; this.addChild(countLines); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(e:MouseEvent):void { var index:int = myTextField.getLineIndexAtPoint(e.localX, e.localY); if (index != -1) { var lenght:int = myTextField.getLineLength(index); countLines.text = "Number of characters in the line is: " + lenght.toString(); } } } }
getLineMetrics | () | 메서드 |
public function getLineMetrics(lineIndex:int):flash.text:TextLineMetrics
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 텍스트 행에 대한 메트릭 정보를 반환합니다.
매개 변수
lineIndex:int — 메트릭 정보를 확인할 줄 번호입니다.
|
flash.text:TextLineMetrics — TextLineMetrics 객체입니다.
|
오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
추가된 텍스트는 월트 휘트먼(Walt Whitman)의 시 Song of Myself 중 두 개의 행입니다. 새로운 TextFormat 객체(newFormat
)를 사용해서 두 번째 행의 서식을 설정했습니다. 첫 번째 행은 기본 서식을 유지합니다. getLineMetrics()
메서드는 특정 행에 필요한 TextLineMetrics
객체를 반환합니다. 행 인덱스는 0으로 시작합니다. 각각 1행과 2행을 위한 metrics1
과 metrics2
TextLineMetrics 객체를 사용해서 행의 어센트, 디센트, 높이와 두께 값을 검색 및 표시합니다. 결과 수치가 문자열로 변환되지만 반올림하지는 않습니다. 이 값은 행을 위한 것이지 특정 문자를 위한 것이 아닙니다. 이것은 한 행의 문자 범위를 반영합니다. 예를 들어 한 행에 높이 서식이 다른 문자들이 포함되어 있다면 가장 높이가 높은 문자가 이 값을 결정합니다. 또한 문자 서식 중 한 가지가 바뀌면 일부 메트릭 값도 바뀔 수 있다는 것을 의미합니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextLineMetrics; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.TextFormat; public class TextField_getLineMetricsExample extends Sprite { public function TextField_getLineMetricsExample() { var myTextField:TextField = new TextField(); var newFormat:TextFormat = new TextFormat(); myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.wordWrap = false; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.appendText("A child said What is the grass? fetching it to me with full hands;\n"); myTextField.appendText("How could I answer the child? I do not know what it is any more than he.\n\n"); newFormat.size = 14; newFormat.font = "Arial"; newFormat.italic = true; myTextField.setTextFormat(newFormat, 67, 139); var metrics1:TextLineMetrics = myTextField.getLineMetrics(0); myTextField.appendText("Metrics ascent for the line 1 is: " + metrics1.ascent.toString() + "\n"); myTextField.appendText("Metrics descent is: " + metrics1.descent.toString() + "\n"); myTextField.appendText("Metrics height is: " + metrics1.height.toString() + "\n"); myTextField.appendText("Metrics width is: " + metrics1.width.toString() + "\n\n"); var metrics2:TextLineMetrics = myTextField.getLineMetrics(1); myTextField.appendText("Metrics ascent for the line 2 is: " + metrics2.ascent.toString() + "\n"); myTextField.appendText("Metrics descent is: " + metrics2.descent.toString() + "\n"); myTextField.appendText("Metrics height is: " + metrics2.height.toString() + "\n"); myTextField.appendText("Metrics width is: " + metrics2.width.toString() + "\n"); addChild(myTextField); } } }
getLineOffset | () | 메서드 |
public function getLineOffset(lineIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
lineIndex
매개 변수로 지정된 행에 있는 첫 문자의 문자 인덱스를 반환합니다.
매개 변수
lineIndex:int — 0부터 시작하는 줄 인덱스 값입니다. 예를 들어 첫 번째 줄은 0, 두 번째 줄은 1입니다.
|
int — 줄에 있는 첫 문자의 인덱스 값(0부터 시작)입니다.
|
오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.
|
예제 ( 예제 사용 방법 )
myTextField
텍스트 필드는 줄 바꿈으로 설정되어 있습니다. countField
텍스트 필드는 4행의 첫 문자를 표시합니다. 사용자가 myTextField
텍스트 필드를 클릭하면 clickHandler()
메서드가 호출됩니다.
clickHandler()
메서드에서 getLineOffset()
메서드는 텍스트의 4번째 행인 행 인덱스 3의 첫 번째 문자 인덱스를 반환합니다. 첫 번째 행의 인덱스는 0입니다. charAt()
메서드는 4행의 첫 번째 문자 인덱스로 해당 문자를 가져오는 데 사용합니다. countField
텍스트 필드의 text
속성을 사용하는 이 정보와 함께 countField
텍스트 필드의 내용이 업데이트 됩니다. countField.text
속성을 사용하는 것은 클릭할 때마다 countField
텍스트 필드의 내용을 덮어쓰게 된다는 것을 의미합니다. 사용자가 표시 범위의 크기를 조정하면 내용에 줄 바꿈이 적용되어 4행의 첫 번째 문자가 변경됩니다. 다시 myTextField
필드를 클릭하면 4행의 새로운 첫 번째 문자와 함께 countField
텍스트 필드의 내용이 업데이트됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_getLineOffsetExample extends Sprite { private var myTextField:TextField = new TextField(); private var countField:TextField = new TextField(); public function TextField_getLineOffsetExample() { myTextField.x = 10; myTextField.y = 10; myTextField.width = 150; myTextField.height = 300; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; countField.height = 20; countField.width = 200; countField.x = 10; countField.y = 320; countField.selectable = false; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file " + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript."); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); this.addChild(countField); } private function clickHandler(e:MouseEvent):void { var c:String; var index:int; index = myTextField.getLineOffset(3); c = myTextField.text.charAt(index); countField.text = "The first character of line 4 is: " + c; } } }
getLineText | () | 메서드 |
public function getLineText(lineIndex:int):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
lineIndex
매개 변수로 지정된 행의 텍스트를 반환합니다.
매개 변수
lineIndex:int — 0부터 시작하는 줄 인덱스 값입니다. 예를 들어 첫 번째 줄은 0, 두 번째 줄은 1입니다.
|
String — 지정된 줄에 들어 있는 텍스트 문자열입니다.
|
오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.
|
예제 ( 예제 사용 방법 )
poem
텍스트 필드는 자동으로 텍스트에 맞게 설정되고 왼쪽 정렬 텍스트로 크기를 조정합니다. 일반적으로, autoSize
속성을 사용하면 wordWrap
속성이 false
로 설정되어서 시의 행간에 줄 바꿈이 적용되지 않게 되지만 이 경우에는 문제가 되지 않습니다. for
루프가 텍스트 필드의 numLines
속성을 사용해서 소네트의 행들을 반복합니다. getLineText()
메서드는 행의 내용을 문자열로 반환합니다. numLines
속성은 행 1로 시작하는 행 번호를 반환하지만 getLineText()
메서드는 0으로 시작하는 행 번호를 반환합니다. 일반 표현식 패턴(/love/i
)을 사용해서 if
문이 대문자 또는 소문자로 된 단어의 하위 문자열을 찾습니다. 패턴이 발견되면 search
메서드가 첫 번째 일치하는 하위 문자열의 인덱스를 반환하고 그렇지 않으면(일치하는 하위 문자열이 없을 경우) -1
을 반환합니다. "love"가 발견된 행 번호((i + 1)
)는 lineResult
문자열에 배치됩니다. 문자열 메서드는 문자열(" ")인 다른 인수가 있으면 숫자 인수((i + 1)
)를 문자열로 변환합니다. 행 검색 결과에는 "loved" 또는 "Love's"라는 단어가 들어간 행이 포함됩니다. "Love was found in lines:"라는 문자열이 for
루프 앞에 추가되면 이 행의 "Love"라는 단어 역시 포함됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; public class TextField_getLineTextExample extends Sprite { public function TextField_getLineTextExample() { var poem:TextField = new TextField(); var lineResult:String = ""; var pattern:RegExp = /love/i; poem.x = 10; poem.y = 10; poem.background = true; poem.wordWrap = false; poem.autoSize = TextFieldAutoSize.LEFT; poem.text = "Let me not to the marriage of true minds\n" + "Admit impediments. love is not love\n" + "Which alters when it alteration finds\n" + "Or bends with the remover to remove:\n" + "O no! it is an ever-fixed mark\n" + "That looks on tempests and is never shaken;\n" + "It is the star to every wandering bark,\n" + "Whose worth's unknown, although his height be taken.\n" + "Love's not Time's fool, though rosy lips and cheeks\n" + "Within his bending sickle's compass come:\n" + "Love alters not with his brief hours and weeks,\n" + "But bears it out even to the edge of doom.\n" + "If this be error and upon me proved,\n" + "I never writ, nor no man ever loved.\n\n"; for (var i:int = 0; i < poem.numLines; i++) { var s:String = poem.getLineText(i); if(s.search(pattern) != -1) { lineResult += (i + 1) + " "; } } poem.appendText("Love was found in lines: " + lineResult); this.addChild(poem); } } }
getParagraphLength | () | 메서드 |
public function getParagraphLength(charIndex:int):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 문자 인덱스가 포함된 단락의 길이를 반환합니다. 이 길이의 기준은 전달된 문자 인덱스가 아니라 getFirstCharInParagraph()
로 반환되는 단락의 첫 문자입니다.
매개 변수
charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.
|
int — 단락의 문자 수를 반환합니다.
|
오류
RangeError — 지정된 문자 인덱스가 범위를 벗어납니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
myTextField
텍스트 필드에는 사용자가 선택할 단락들이 표시됩니다. 사용자가 텍스트 필드를 클릭하면 MouseEvent.CLICK
이벤트가 전달되고 clickHandler()
메서드가 호출됩니다. 단락의 길이와 "s" 문자의 수가 countField
텍스트 필드에 표시되고, 이 텍스트 필드는 myTextField
텍스트 필드 아래에 배치됩니다.
clickHandler()
메서드에서 getCharIndexAtPoint()
메서드는 마우스로 클릭한 localX
및 localY
좌표를 기준으로 문자의 인덱스를 반환합니다. 첫 번째 if
문은 사용자가 문자를 클릭했는지 여부를 확인합니다. getFirstCharInParagraph()
메서드가 이 인덱스를 사용해 같은 단락의 첫 번째 문자 인덱스를 반환합니다. 단락의 길이가 getParagraphLength()
메서드에 의해 반환되면 이 길이를 단락의 첫 번째 문자 인덱스와 함께 사용해서 단락의 끝이 되는 인덱스를 결정합니다. for
루프는 단락에서 "s" 문자 수 찾기를 반복합니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_getParagraphLengthExample extends Sprite { private var myTextField:TextField = new TextField(); private var countField:TextField = new TextField(); public function TextField_getParagraphLengthExample() { myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; myTextField.width = 300; myTextField.height = 280; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file" + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n" + "To create a text field dynamically, use the TextField() constructor.\n\n" + "The methods of the TextField class let you set, select, and manipulate " + "text in a dynamic or input text field that you create during authoring or at runtime."); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); countField.x = 10; countField.y = 300; countField.height = 50; countField.width = 250; countField.background = true; countField.selectable = false; this.addChild(myTextField); this.addChild(countField); } private function clickHandler(e:MouseEvent):void { var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if(index != -1) { var beginParag:int = myTextField.getFirstCharInParagraph(index); var paragLength:int = myTextField.getParagraphLength(index); var endParag:int = beginParag + paragLength; var sCount:uint = 0; for (var i:int = beginParag; i <= endParag; i++) { if ((myTextField.text.charAt(i) == "s") || (myTextField.text.charAt(i) == "S")) { sCount++; } countField.text = "Paragraph length is: " + paragLength.toString() + "\n" + "Number of 's' characters in the paragraph: " + sCount.toString(); } } } } }
getTextFormat | () | 메서드 |
public function getTextFormat(beginIndex:int = -1, endIndex:int = -1):flash.text:TextFormat
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
beginIndex
및 endIndex
매개 변수로 지정된 텍스트 범위에 대한 서식 정보가 들어 있는 TextFormat 객체를 반환합니다. 결과 TextFormat 객체에는 지정된 텍스트 전체에서 공통되는 속성만 설정됩니다. 텍스트의 각 위치마다 값이 다름을 의미하는 혼합 속성은 값이 null
입니다.
이러한 매개 변수에 값을 지정하지 않으면 텍스트 필드의 텍스트 전체에 이 메서드가 적용됩니다.
다음 표에서는 가능한 세 가지 사용법을 설명합니다.
구문 | 설명 |
---|---|
my_textField.getTextFormat() | 텍스트 필드의 모든 텍스트에 대한 서식 정보가 들어 있는 TextFormat 객체를 반환합니다. 결과 TextFormat 객체에는 텍스트 필드의 모든 텍스트에서 공통되는 속성만 설정됩니다. 텍스트의 각 위치마다 값이 다름을 의미하는 혼합 속성은 값이 null 입니다. |
my_textField.getTextFormat(beginIndex:Number) | beginIndex 위치에 있는 문자의 텍스트 서식 복사본이 포함된 TextFormat 객체를 반환합니다. |
my_textField.getTextFormat(beginIndex:Number,endIndex:Number) | beginIndex 에서 endIndex-1 사이에 있는 텍스트 범위의 서식 정보가 포함된 TextFormat 객체를 반환합니다. 지정된 범위의 모든 텍스트에 공통인 속성만 결과 TextFormat 객체에 설정됩니다. 범위의 다른 위치에서 다른 값을 가지는 혼합된 모든 속성은 해당 값이 null 로 설정됩니다. |
매개 변수
beginIndex:int (default = -1 ) — 선택 요소로서, 텍스트 필드 내에서 텍스트 범위의 시작 위치를 지정하는 정수입니다.
| |
endIndex:int (default = -1 ) — 선택 사항이며 원하는 텍스트 범위 다음에 오는 첫 번째 문자의 위치를 지정하는 정수입니다. 설계했던 대로 beginIndex 및 endIndex 의 값을 지정했다면 beginIndex 에서 endIndex-1 까지의 텍스트를 읽습니다.
|
flash.text:TextFormat — 지정된 텍스트의 서식 속성을 나타내는 TextFormat 객체입니다.
|
오류
RangeError — 지정된 beginIndex 또는 endIndex 가 범위를 벗어납니다.
|
관련 API 요소
예제
예제 사용 방법
getFirstCharInParagraph() 또는 setTextFormat() 메서드 예제를 참조하여
getTextFormat()
메서드를 사용하는 방법을 확인할 수 있습니다.
isFontCompatible | () | 메서드 |
public static function isFontCompatible(fontName:String, fontStyle:String):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
지정된 fontName
및 fontStyle
로 포함된 글꼴을 사용할 수 있고 Font.fontType
이 flash.text.FontType.EMBEDDED
이면 true를 반환합니다. Flash Player 10부터는 두 가지 유형의 포함된 글꼴이 SWF 파일에 나타날 수 있습니다. 일반적인 포함된 글꼴은 TextField 객체에만 사용됩니다. CFF 포함 글꼴은 flash.text.engine 클래스에만 사용됩니다. 이러한 두 가지 유형은 fontType
속성(Font
클래스)에 따라 구분되며, 이 클래스는 enumerateFonts()
함수로 반환됩니다.
TextField는 EMBEDDED_CFF
유형의 글꼴을 사용할 수 없습니다. embedFonts
가 true
로 설정되어 있고 런타임에 지정된 이름과 스타일로 사용할 수 있는 글꼴이 EMBEDDED_CFF
유형뿐인 경우 지정된 이름과 스타일로 포함된 글꼴이 없는 경우와 마찬가지로 Flash Player에서 텍스트를 렌더링할 수 없습니다.
이름과 스타일이 동일한 EMBEDDED
와 EMBEDDED_CFF
글꼴을 모두 사용할 수 있으면 EMBEDDED
글꼴이 선택되고 텍스트가 EMBEDDED
글꼴로 렌더링됩니다.
매개 변수
fontName:String — 확인할 포함된 글꼴의 이름입니다.
| |
fontStyle:String — 확인할 글꼴 스타일을 지정합니다. flash.text.FontStyle 을 사용합니다.
|
Boolean — 호환되는 포함된 글꼴을 사용할 수 있으면 true 이고, 그렇지 않으면 false 입니다.
|
오류
ArgumentError — 지정된 fontStyle 이 flash.text.FontStyle 의 멤버가 아닙니다.
|
관련 API 요소
replaceSelectedText | () | 메서드 |
public function replaceSelectedText(value:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
현재 선택 내용을 value
매개 변수의 내용으로 바꿉니다. 텍스트는 현재 기본 문자 서식과 기본 단락 서식을 사용하여 현재 선택 위치에 삽입됩니다. 이 텍스트는 HTML로 간주되지 않습니다.
replaceSelectedText()
메서드를 사용하면 나머지 텍스트의 문자 및 단락 서식을 손상시키지 않고 텍스트를 삽입 및 삭제할 수 있습니다.
참고: 이 메서드는 텍스트 필드에 스타일 시트가 적용된 경우 작동하지 않습니다.
매개 변수
value:String — 현재 선택한 텍스트를 바꾸는 데 사용할 문자열입니다.
|
오류
Error — 이 메서드는 스타일 시트가 있는 텍스트 필드에 사용할 수 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
두 개의 서로 다른 TextField 객체가 생성되고 MouseEvent.MOUSE_UP
이벤트를 위한 이벤트 리스너가 추가되었습니다. 마우스 놓음은 사용자가 마우스를 놓았을 때 일어나는 이벤트로 보통 텍스트를 선택한 후에 일어납니다. 텍스트 필드의 기본 설정은 텍스트가 선택되도록 하기 위한 것입니다.
mouseHandler1()
메서드에서 사용자가 myTextField1
텍스트 필드에 있는 마우스를 놓으면 텍스트가 지워지고 빈 문자열로 대체됩니다. 모든 텍스트가 지워질 때까지 이 과정이 계속될 수 있습니다. mouseHandler2()
메서드에서 사용자가 myTextField2
텍스트 필드에 있는 텍스트의 일부를 선택하면 selectionBeginIndex
및 selectionEndIndex
속성을 점검해 어떤 문자가 선택되었는지 확인합니다. selectionBeginIndex
및 selectionEndIndex
속성은 텍스트가 선택되어 있을 때는 같은 값을 갖지 않습니다. 선택된 텍스트는 "NEW TEXT" 문자열로 대체됩니다. 두 번째 텍스트 필드의 모든 텍스트가 "NEW TEXT" 문자열로 대체될 때까지 이 과정이 계속될 수 있습니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_replaceSelectedTextExample extends Sprite { private var myTextField1:TextField = new TextField(); private var myTextField2:TextField = new TextField(); public function TextField_replaceSelectedTextExample() { myTextField1.x = 10; myTextField1.width = 300; myTextField1.height = 50; myTextField1.background = true; myTextField1.border = true; myTextField1.text = "Select the text you want to remove from the line."; myTextField2.x = 10; myTextField2.y = 60; myTextField2.width = 300; myTextField2.height = 50; myTextField2.background = true; myTextField2.border = true; myTextField2.text = "Select the text you want to replace with NEW TEXT."; myTextField1.addEventListener(MouseEvent.MOUSE_UP, mouseHandler1); myTextField2.addEventListener(MouseEvent.MOUSE_UP, mouseHandler2); this.addChild(myTextField1); this.addChild(myTextField2); } private function mouseHandler1(e:MouseEvent):void { myTextField1.replaceSelectedText(""); } private function mouseHandler2(e:MouseEvent):void { if(myTextField2.selectionBeginIndex != myTextField2.selectionEndIndex) { myTextField2.replaceSelectedText("NEW TEXT"); } } } }
replaceText | () | 메서드 |
public function replaceText(beginIndex:int, endIndex:int, newText:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
beginIndex
및 endIndex
매개 변수로 지정한 문자 범위를 newText
매개 변수의 내용으로 대체합니다. 설계했던 대로 beginIndex
에서 endIndex-1
까지의 텍스트가 대체됩니다.
참고: 이 메서드는 텍스트 필드에 스타일 시트가 적용된 경우 작동하지 않습니다.
매개 변수
beginIndex:int — 바꾸기 범위의 시작 위치를 나타내는 인덱스 값(0부터 시작)입니다.
| |
endIndex:int — 원하는 텍스트 범위 다음에 오는 첫 번째 문자를 나타내는 인덱스(0부터 시작)입니다.
| |
newText:String — 지정된 문자 범위를 바꾸는 데 사용할 텍스트입니다.
|
오류
Error — 이 메서드는 스타일 시트가 있는 텍스트 필드에 사용할 수 없습니다.
|
예제 ( 예제 사용 방법 )
replaceText()
메서드를 사용해 텍스트를 텍스트 필드로 삭제, 바꾸기 및 삽입합니다.
outputText
텍스트 필드는 자동으로 텍스트에 맞게 설정되고 왼쪽 정렬 텍스트로 크기를 조정합니다. 첫 번째 replaceText()
메서드를 호출하면 첫 번째 행("This is the wrong heading")이 "THIS IS THE HEADING FOR EVERYONE"으로 대체됩니다. 두 번째 메서드를 호출하면 "CORRECT" 텍스트가 "THE"와 "HEADING" 사이에 삽입됩니다. 세 번째 메서드를 호출하면 "FOR EVERYONE"이라는 단어가 삭제됩니다. appendText()
메서드를 호출할 때마다 현재 텍스트의 시작 및 끝 인덱스가 변경됩니다. 여기에서는 마지막 텍스트(변경이 이루어지고 난 후)만 표시됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_replaceTextExample extends Sprite { public function TextField_replaceTextExample() { var outputText:TextField = new TextField(); outputText.x = 10; outputText.y = 10; outputText.background = true; outputText.autoSize = TextFieldAutoSize.LEFT; outputText.appendText("This is the wrong heading"); outputText.appendText("\n\n"); outputText.appendText("This is the body of the text."); outputText.replaceText(0, 25, "THIS IS THE HEADING FOR EVERYONE"); outputText.replaceText(12, 12, "CORRECT "); outputText.replaceText(27, 40, ""); this.addChild(outputText); } } }
setSelection | () | 메서드 |
public function setSelection(beginIndex:int, endIndex:int):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
beginIndex
및 endIndex
매개 변수로 지정된 첫 번째 및 마지막 문자의 인덱스 값으로 지정된 텍스트를 선택된 상태로 설정합니다. 두 매개 변수 값이 서로 같은 경우 이 메서드는 caretIndex
속성을 설정한 것과 같이 삽입점을 설정합니다.
매개 변수
beginIndex:int — 선택 영역에서 첫 번째 문자의 인덱스 값(0부터 시작)입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.
| |
endIndex:int — 선택 영역에서 마지막 문자의 인덱스 값(0부터 시작)입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
myTextField
텍스트 필드에 필요한 두 개의 이벤트 리스너가 사용자의 마우스 클릭이나 마우스 놓음 이벤트에 응답합니다. 마우스 놓음은 사용자가 마우스를 놓았을 때 일어나는 이벤트로 보통 텍스트를 선택한 후에 일어납니다. 텍스트 필드의 기본 설정은 텍스트가 선택되도록 하기 위한 것입니다. 일부 텍스트를 클릭하면 clickHandler()
메서드가 호출됩니다. 일부 텍스트를 선택하고 마우스를 놓으면 mouseUpHandler()
메서드가 호출됩니다.
clickHandler()
및 mouseUpHandler()
메서드 모두에서, setSelection()
메서드는 인덱스 54와 70 (TEXT IN ALL CAPS) 사이의 문자만 선택되도록 설정합니다.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_setSelectionExample extends Sprite { private var myTextField:TextField = new TextField(); public function TextField_setSelectionExample() { myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS is selected."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); myTextField.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); this.addChild(myTextField); } private function clickHandler(event:MouseEvent):void { myTextField.setSelection(54, 70); } private function mouseUpHandler(event:MouseEvent):void { myTextField.setSelection(54, 70); } } }
setTextFormat | () | 메서드 |
public function setTextFormat(format:flash.text:TextFormat, beginIndex:int = -1, endIndex:int = -1):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
텍스트 필드의 지정된 텍스트에 format
매개 변수로 지정된 텍스트 서식을 적용합니다. format
의 값은 변경할 텍스트 서식을 지정하는 TextFormat 객체여야 합니다. format
의 null이 아닌 속성만 텍스트 필드에 적용됩니다. format
에서 null
로 설정된 속성은 모두 적용되지 않습니다. 기본적으로 새로 만든 TextFormat 객체의 모든 속성은 null
로 설정됩니다.
참고: 이 메서드는 텍스트 필드에 스타일 시트가 적용된 경우 작동하지 않습니다.
setTextFormat()
메서드는 문자 범위 또는 텍스트 필드의 텍스트 본문 전체에 적용된 텍스트 서식을 변경합니다. 텍스트 필드의 텍스트 전체에 서식 속성을 적용하려면 beginIndex
및 endIndex
에 값을 지정하지 않습니다. 텍스트 범위에 서식 속성을 적용하려면 beginIndex
및 endIndex
매개 변수에 값을 지정합니다. 인덱스 값을 확인하려면 length
속성을 사용합니다.
TextFormat 객체에는 문자 수준 서식과 단락 수준 서식이라는 두 가지 서식 정보가 들어 있습니다. 텍스트 필드의 각 문자는 글꼴 이름, 글꼴 크기, 굵게, 기울임체 등의 고유한 문자 서식 설정을 가질 수 있습니다.
단락의 경우 전체 단락의 단락 서식 설정을 단락의 첫 문자에서 검사합니다. 단락 서식 설정의 예로는 왼쪽 여백, 오른쪽 여백 및 들여쓰기가 있습니다.
사용자가 수동으로 삽입한 텍스트나 replaceSelectedText()
메서드를 사용하여 바꾼 텍스트에는 텍스트 삽입점에 지정된 서식이 아닌 새 텍스트의 기본 텍스트 필드 서식이 적용됩니다. 새 텍스트의 기본 서식을 설정하려면 defaultTextFormat
을 사용합니다.
매개 변수
format:flash.text:TextFormat — 문자 및 단락 서식 정보가 포함된 TextFormat 객체입니다.
| |||||||||
beginIndex:int (default = -1 ) — 선택 사항이며 원하는 텍스트 범위의 첫 번째 문자를 지정하는 인덱스 위치(0에서 시작)를 지정하는 정수입니다.
| |||||||||
endIndex:int (default = -1 ) — 선택 사항이며 원하는 텍스트 범위 다음에 오는 첫 번째 문자를 지정하는 정수입니다. 설계했던 대로 beginIndex 및 endIndex 값을 지정했다면 beginIndex 에서 endIndex-1 까지의 텍스트가 업데이트됩니다.
사용자가 수동으로 삽입한 텍스트나 |
오류
Error — 이 메서드는 스타일 시트가 있는 텍스트 필드에 사용할 수 없습니다.
| |
RangeError — 지정된 beginIndex 또는 endIndex 가 범위를 벗어납니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
myTextField
텍스트 필드용 이벤트 리스너가 clickHandler()
메서드를 호출해 마우스 클릭에 응답하기 위해 추가되었습니다. clickHandler()
메서드에서 getTextFormat()
메서드는 의도한 텍스트 범위에 있는 문자(인덱스 55)의 현재 서식을 반환한 다음 currentTextFormat
TextFormat 객체에 배치합니다. if
문은 currentTextFormat
텍스트 서식을 점검해서 범위의 문자가 새로운 서식(글꼴 크기는 18로 설정)을 사용하고 있는지 확인합니다. 만약 그렇지 않다면 새로운 서식이 54-70 사이의 텍스트 범위(TEXT IN ALL CAPS)의 글꼴 크기를 18로, 색상은 빨강으로 바꾸고 밑줄과 기울임체를 적용합니다. 범위 내의 문자가 새로운 서식을 사용하고 있으면 이 범위의 서식은 다시 해당 텍스트 필드의 기본(원래) 서식으로 되돌아 갑니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; public class TextField_setTextFormatExample extends Sprite { private var myTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextField_setTextFormatExample() { myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.selectable = false; myTextField.background = true; myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS changes format."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); newFormat.color = 0xFF0000; newFormat.size = 18; newFormat.underline = true; newFormat.italic = true; this.addChild(myTextField); } private function clickHandler(event:MouseEvent):void { var currentTextFormat:TextFormat = myTextField.getTextFormat(55); if(currentTextFormat.size != 18) { myTextField.setTextFormat(newFormat, 54, 70); } else { myTextField.setTextFormat(myTextField.defaultTextFormat); } } } }
change | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.CHANGE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
값이 수정되기 전에 전달되는 textInput
이벤트와 달리 컨트롤 값이 수정된 후 전달됩니다. 컨트롤이 포커스를 잃은 후에만 이벤트를 전달하는 W3C DOM 이벤트 모델 버전의 change
이벤트와 달리 ActionScript 3.0 버전의 change
이벤트는 컨트롤이 변경될 때마다 전달됩니다. 예를 들어 사용자가 텍스트 필드에 텍스트를 입력하면 각 키를 누를 때마다 change
이벤트가 전달됩니다.
Event.CHANGE
상수는 change
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | true |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 값이 수정된 객체입니다. target 은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
예제 ( 예제 사용 방법 )
두 개의 텍스트 필드가 생성되는데 하나는 사용자 입력용이고 다른 하나(headingTextField
)는 사용자가 입력한 내용의 사본을 만들기 위한 것입니다. 또한 TextFormat 객체가 생성되어 기본 텍스트 서식이 headingTextField
텍스트 필드에 할당됩니다. 텍스트 필드의 내용이 변경되면 changeHandler()
메서드가 호출되어 inputTextField
텍스트 필드의 텍스트를 headingTextField
텍스트 필드로 할당합니다 Event.CHANGE
이벤트 대신 TextEvent.TEXT_INPUT
이벤트에 대해 해당 메서드가 호출된 경우 사용자가 추가 텍스트를 입력해야 사용자 입력의 내용이 복사됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.events.Event; import flash.events.TextEvent; public class TextField_Event_changeExample extends Sprite { private var inputTextField:TextField = new TextField(); private var headingTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextField_Event_changeExample() { headingTextField.x = 10; headingTextField.y = 10; headingTextField.height = 30; headingTextField.width = 400; headingTextField.background = true; headingTextField.backgroundColor = 0xF5F5DC; headingTextField.selectable = false; inputTextField.x = 10; inputTextField.y = 70; inputTextField.height = 20; inputTextField.width = 230; inputTextField.background = true; inputTextField.border = true; inputTextField.maxChars = 40; inputTextField.wordWrap = true; inputTextField.type = TextFieldType.INPUT; inputTextField.addEventListener(Event.CHANGE, changeHandler); newFormat.bold = true; newFormat.size = 18; newFormat.color = 0xFF0000; newFormat.align = TextFormatAlign.CENTER; headingTextField.defaultTextFormat = newFormat; this.addChild(inputTextField); this.addChild(headingTextField); } private function changeHandler(e:Event):void { headingTextField.text = inputTextField.text; } } }
link | 이벤트 |
flash.events.TextEvent
속성 TextEvent.type =
flash.events.TextEvent.LINK
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
사용자가 HTML 사용 가능 텍스트 필드에서 URL이 "event:"로 시작되는 하이퍼링크를 클릭할 때 전달됩니다. URL의 "event:" 뒷부분은 LINK 이벤트의 텍스트 속성 배치됩니다.
참고: 텍스트 필드에 텍스트를 추가하는 기본 비헤이비어는 Flash Player에서 이 이벤트가 발생할 때(여기에서는 사용자가 텍스트를 입력하려고 할 때)에만 수행됩니다. 텍스트를 textInput
이벤트에 전달하여 텍스트 필드에 텍스트를 추가할 수는 없습니다.
link
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | true |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 클릭한 하이퍼링크가 포함되어 있는 텍스트 필드입니다. target 은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
text | URL에서 "event:" 이후의 나머지 부분입니다. |
예제 ( 예제 사용 방법 )
playMP3()
함수를 정의합니다. list
라는 TextField 객체를 만들고 HTML 텍스트로 채웁니다. 텍스트 "Track 1"
과 "Track 2"
는 텍스트 필드 내부의 링크입니다. 사용자가 링크 중 하나를 클릭하면 playMP3() 함수가 호출됩니다. HTML 태그의 href
특성에서 "event:" 문자열 뒤에 오는 MP3 파일의 이름이 linkHandler()
메서드에 link
이벤트 객체의 text
속성으로 전달됩니다.
package { import flash.display.Sprite; import flash.errors.IOError; import flash.events.IOErrorEvent; import flash.events.TextEvent; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_event_link extends Sprite { private var myMP3:Sound; public function TextField_event_link() { myMP3 = new Sound(); var list:TextField = new TextField(); list.autoSize = TextFieldAutoSize.LEFT; list.multiline = true; list.htmlText = "<a href=\"event:track1.mp3\">Track 1</a><br>"; list.htmlText += "<a href=\"event:track2.mp3\">Track 2</a><br>"; addEventListener(TextEvent.LINK, linkHandler); addChild(list); } private function playMP3(mp3:String):void { try { myMP3.load(new URLRequest(mp3)); myMP3.play(); } catch(err:Error) { trace(err.message); } myMP3.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); } private function linkHandler(linkEvent:TextEvent):void { playMP3(linkEvent.text); } private function errorHandler(errorEvent:IOErrorEvent):void { trace(errorEvent.text); } } }
scroll | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.SCROLL
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
사용자가 스크롤한 후 TextField 객체에 의해 전달됩니다.
Event.SCROLL
상수는 scroll
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 스크롤한 TextField 객체입니다. target 속성은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
예제 ( 예제 사용 방법 )
mouseDown
이벤트가 전달되고 연관된 mouseDownScroll
핸들러가 호출됩니다. mouseDownScroll()
핸들러로 인해 필드가 스크롤됩니다. 그런 다음 scroll
이벤트가 전달되고 연관된 scrollHandler()
핸들러가 두 번째 텍스트 필드를 업데이트하여 현재 스크롤 위치를 표시합니다.
package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextScrollExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); private var myText:String = "Hello world and welcome to the show. It's really nice to meet you. Take your coat off and stay a while. OK, show is over. Hope you had fun. You can go home now. Don't forget to tip your waiter. There are mints in the bowl by the door. Thank you. Please come again."; public function TextScrollExample() { myTextBox1.text = myText; myTextBox1.width = 200; myTextBox1.height = 50; myTextBox1.multiline = true; myTextBox1.wordWrap = true; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownScroll); myTextBox1.addEventListener(Event.SCROLL, scrollHandler); } public function mouseDownScroll(event:MouseEvent):void { myTextBox1.scrollV++; } public function scrollHandler(event:Event):void { myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; } } }
textInput | 이벤트 |
flash.events.TextEvent
속성 TextEvent.type =
flash.events.TextEvent.TEXT_INPUT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
사용자가 텍스트를 한 글자 이상 입력하면 Flash Player에서 textInput
이벤트를 전달합니다. 표준 키보드, IME(Input Method Editor), 음성 인식 시스템, 서식이나 스타일 정보가 없는 일반 텍스트 붙여넣기 등의 다양한 텍스트 입력 방법을 통해 이 이벤트가 발생할 수 있습니다.
textInput
이벤트 객체의 type
속성 값을 정의합니다.
참고: Delete 또는 백스페이스 키의 경우 이 이벤트가 전달되지 않습니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | true |
cancelable | true : preventDefault() 메서드를 호출하여 기본 비헤이비어를 취소합니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 문자를 입력하고 있는 텍스트 필드입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
text | 사용자가 입력한 문자 또는 일련의 문자입니다. |
예제 ( 예제 사용 방법 )
textInput
이벤트가 전달되고 textInputHandler()
핸들러가 호출되며 두 번째 텍스트 필드에 문자가 표시됩니다. 텍스트 블록을 입력 필드에 붙여넣을 경우 이벤트 핸들러는 전체 블록을 다른 필드에 복사합니다.
package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextInputExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); public function TextInputExample() { myTextBox1.type = TextFieldType.INPUT; myTextBox1.width = 200; myTextBox1.height = 20; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(TextEvent.TEXT_INPUT,textInputHandler); } public function textInputHandler(event:TextEvent):void { myTextBox2.text=event.text; } } }
textInteractionModeChange | 이벤트 |
flash.events.Event
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 11, Flash Lite 4 |
Flash Player는 사용자가 텍스트 필드의 상호 작용 모드를 변경할 때 textInteractionModeChange
이벤트를 전달합니다. 예를 들어 Android에서는 컨텍스트 메뉴 옵션을 사용하여 NORMAL 모드에서 SELECTION 모드로 전환할 수 있습니다.
TextFieldExample
클래스를 사용하여 텍스트 메시지를 표시합니다. 이는 다음 단계로 이루어집니다.
- TextField 유형의
label
속성을 만듭니다. - 클래스 생성자에서
configureLabel()
함수를 호출합니다. -
configureLabel()
메서드는 먼저 새 TextField 객체를 만들어label
속성에 할당하고 매개 변수를 다음과 같이 설정합니다.- 텍스트 필드를 왼쪽으로 정렬합니다.
- 배경 칠을 활성화합니다.
- 테두리를 활성화합니다.
configureLabel()
메서드는format
변수를 만들어 새 TextFormat 인스턴스에 할당합니다. 이때 매개 변수를 다음과 같이 설정합니다.- Font type = Verdana
- Font color = solid red
- Font size = 10
- Font underline = true
label
텍스트 필드의defaultTextFormat
속성을format
으로 설정하고label
인스턴스가 표시 목록에 추가합니다. 처음에는 스테이지에 텍스트가 없는 텍스트 필드가 표시됩니다.- 생성자가
label
텍스트 필드의 텍스트를"Hello world and welcome to the show."
로 설정합니다. 이때setLabel()
메서드가 호출됩니다.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; public class TextFieldExample extends Sprite { private var label:TextField; private var labelText:String = "Hello world and welcome to the show."; public function TextFieldExample() { configureLabel(); setLabel(labelText); } public function setLabel(str:String):void { label.text = str; } private function configureLabel():void { label = new TextField(); label.autoSize = TextFieldAutoSize.LEFT; label.background = true; label.border = true; var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0xFF0000; format.size = 10; format.underline = true; label.defaultTextFormat = format; addChild(label); } } }
Tue Jun 12 2018, 03:17 PM Z