패키지flash.text
클래스public class TextField
상속TextField Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

TextField 클래스를 사용하면 텍스트 표시 및 입력을 위한 표시 객체를 만들 수 있습니다. SWF 파일의 모든 동적 및 입력 텍스트 필드는 TextField 클래스의 인스턴스입니다. 속성 관리자에서 텍스트 필드에 인스턴스 이름을 지정하면 TextField 클래스의 메서드와 속성을 사용하여 ActionScript로 조정할 수 있습니다. TextField 인스턴스 이름은 무비 탐색기와 액션 패널의 대상 경로 삽입 대화 상자에 표시됩니다.

동적으로 텍스트 필드를 만들려면 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 속성 설명을 참조하십시오.

예제를 통해 확인하십시오.

참고 사항

flash.text.TextFormat
flash.text.StyleSheet
기본 표시 클래스
텍스트를 사용한 작업의 기초


Public 속성
 속성다음에 의해 정의됨
 InheritedaccessibilityProperties : AccessibilityProperties
이 표시 객체의 현재 액세스 가능성 옵션입니다.
DisplayObject
 Inheritedalpha : Number
지정된 객체의 알파 투명도 값을 나타냅니다.
DisplayObject
  alwaysShowSelection : Boolean
true로 설정하면 텍스트 필드에 포커스가 없는 경우 Flash Player에서 텍스트 필드의 선택 영역이 회색으로 강조 표시됩니다.
TextField
  antiAliasType : String
이 텍스트 필드에 사용되는 앤티앨리어싱 유형입니다.
TextField
  autoSize : String
텍스트 필드의 자동 크기 조절 및 정렬을 제어합니다.
TextField
  background : Boolean
텍스트 필드에 배경 칠이 있는지 여부를 지정합니다.
TextField
  backgroundColor : uint
텍스트 필드의 배경색입니다.
TextField
 InheritedblendMode : String
사용할 블렌드 모드를 지정하는 BlendMode 클래스 값입니다.
DisplayObject
  border : Boolean
텍스트 필드에 테두리가 있는지 여부를 지정합니다.
TextField
  borderColor : uint
텍스트 필드의 테두리 색상입니다.
TextField
  bottomScrollV : int
[read-only] 지정된 텍스트 필드에서 현재 맨 아래에 표시되는 행을 나타내는 정수 인덱스(1부터 시작)입니다.
TextField
 InheritedcacheAsBitmap : Boolean
true로 설정된 경우, Flash Player는 표시 객체의 내부 비트맵 표현을 캐시합니다.
DisplayObject
  caretIndex : int
[read-only] 삽입점(캐럿) 위치의 인덱스입니다.
TextField
  condenseWhite : Boolean
HTML 텍스트가 있는 텍스트 필드에서 공백 문자, 줄 바꿈 등의 불필요한 공백을 제거할지 여부를 지정하는 부울 값입니다.
TextField
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
 InheritedcontextMenu : ContextMenu
이 객체에 연결된 컨텍스트 메뉴를 지정합니다.
InteractiveObject
  defaultTextFormat : TextFormat
replaceSelectedText() 메서드로 삽입한 텍스트 또는 사용자가 입력한 텍스트 등 새로 삽입되는 텍스트에 적용할 서식을 지정합니다.
TextField
  displayAsPassword : Boolean
텍스트 필드가 암호 텍스트 필드인지 여부를 지정합니다.
TextField
 InheriteddoubleClickEnabled : Boolean
이 객체에서 doubleClick 이벤트를 받을지 여부를 지정합니다.
InteractiveObject
  embedFonts : Boolean
포함된 글꼴 외곽선을 사용하여 렌더링할지 여부를 지정합니다.
TextField
 Inheritedfilters : Array
현재 표시 객체와 연관된 각 필터 객체가 들어 있는 인덱싱된 배열입니다.
DisplayObject
 InheritedfocusRect : Object
이 객체에서 포커스 사각형을 표시할지 여부를 지정합니다.
InteractiveObject
  gridFitType : String
이 텍스트 필드에 사용되는 격자 맞춤의 유형입니다.
TextField
 Inheritedheight : Number
표시 객체의 높이를 픽셀 단위로 나타냅니다.
DisplayObject
  htmlText : String
텍스트 필드의 내용에 대한 HTML 표현이 들어 있습니다.
TextField
  length : int
[read-only] 텍스트 필드의 문자 수입니다.
TextField
 InheritedloaderInfo : LoaderInfo
[read-only] 이 표시 객체가 속한 파일의 로딩 정보가 포함된 LoaderInfo 객체를 반환합니다.
DisplayObject
 Inheritedmask : DisplayObject
호출하는 표시 객체는 지정된 mask 객체에 의해 마스크 처리됩니다.
DisplayObject
  maxChars : int
사용자가 입력하여 텍스트 필드에 포함될 수 있는 최대 문자 수입니다.
TextField
  maxScrollH : int
[read-only] scrollH의 최대값입니다.
TextField
  maxScrollV : int
[read-only] scrollV의 최대값입니다.
TextField
 InheritedmouseEnabled : Boolean
이 객체에서 마우스 메시지를 받을지 여부를 지정합니다.
InteractiveObject
  mouseWheelEnabled : Boolean
사용자가 텍스트 필드를 클릭하고 마우스 휠을 굴릴 때 여러 줄 텍스트 필드가 자동으로 스크롤되는지 여부를 나타내는 부울 값입니다.
TextField
 InheritedmouseX : Number
[read-only] 마우스 위치의 x 좌표를 픽셀 단위로 나타냅니다.
DisplayObject
 InheritedmouseY : Number
[read-only] 마우스 위치의 y 좌표를 픽셀 단위로 나타냅니다.
DisplayObject
  multiline : Boolean
텍스트 필드가 여러 행 텍스트 필드인지 여부를 나타냅니다.
TextField
 Inheritedname : String
DisplayObject의 인스턴스 이름을 나타냅니다.
DisplayObject
  numLines : int
[read-only] 여러 행 텍스트 필드의 텍스트 행 수를 정의합니다.
TextField
 InheritedopaqueBackground : Object
표시 객체를 특정 배경색으로 불투명하게 처리할지 여부를 지정합니다.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] 이 표시 객체가 포함된 DisplayObjectContainer 객체를 나타냅니다.
DisplayObject
 Inheritedprototype : Object
[static] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
  restrict : String
사용자가 텍스트 필드에 입력할 수 있는 문자 세트를 나타냅니다.
TextField
 Inheritedroot : DisplayObject
[read-only] 로드된 SWF 파일에 있는 표시 객체의 경우, 해당 SWF 파일이 나타내는 표시 목록의 트리 구조 부분에서 맨 위에 위치하는 표시 객체가 루트 속성이 됩니다.
DisplayObject
 Inheritedrotation : Number
DisplayObject 인스턴스가 원점으로부터 회전한 각도입니다.
DisplayObject
 Inheritedscale9Grid : Rectangle
현재 적용 중인 크기 조절 격자입니다.
DisplayObject
 InheritedscaleX : Number
등록 포인트에서 적용된 객체의 가로 크기(percentage)를 나타냅니다.
DisplayObject
 InheritedscaleY : Number
객체의 등록 포인트에서 적용된 객체의 세로 크기(percentage)를 나타냅니다.
DisplayObject
  scrollH : int
현재 가로 스크롤 위치입니다.
TextField
 InheritedscrollRect : Rectangle
표시 객체의 스크롤 사각형 경계입니다.
DisplayObject
  scrollV : int
텍스트 필드에서 텍스트의 수직 위치입니다.
TextField
  selectable : Boolean
텍스트 필드를 선택할 수 있는지 여부를 나타내는 부울 값입니다.
TextField
  selectionBeginIndex : int
[read-only] 현재 선택 영역에 있는 첫 문자의 인덱스 값(0부터 시작)입니다.
TextField
  selectionEndIndex : int
[read-only] 현재 선택 영역에 있는 마지막 문자의 인덱스 값(0부터 시작)입니다.
TextField
  sharpness : Number
이 텍스트 필드의 글리프 가장자리 선명도입니다.
TextField
 Inheritedstage : Stage
[read-only] 표시 객체의 Stage입니다.
DisplayObject
  styleSheet : StyleSheet
텍스트 필드에 스타일 시트를 연결합니다.
TextField
 InheritedtabEnabled : Boolean
이 객체가 탭 순서에 있는지 여부를 지정합니다.
InteractiveObject
 InheritedtabIndex : int
SWF 파일에서 객체의 탭 순서를 지정합니다.
InteractiveObject
  text : String
텍스트 필드의 현재 텍스트인 문자열입니다.
TextField
  textColor : uint
텍스트 필드의 16진수 형식 텍스트 색상입니다.
TextField
  textHeight : Number
[read-only] 텍스트의 높이(픽셀 단위)입니다.
TextField
  textWidth : Number
[read-only] 텍스트의 폭(픽셀 단위)입니다.
TextField
  thickness : Number
이 텍스트 필드의 글리프 가장자리 두께입니다.
TextField
 Inheritedtransform : Transform
표시 객체의 행렬, 색상 변환 및 픽셀 경계와 관련된 속성을 가진 객체입니다.
DisplayObject
  type : String
텍스트 필드의 유형입니다.
TextField
  useRichTextClipboard : Boolean
텍스트와 함께 텍스트 서식을 복사하여 붙여 넣을지 여부를 지정합니다.
TextField
 Inheritedvisible : Boolean
표시 객체가 표시되는지 여부를 나타냅니다.
DisplayObject
 Inheritedwidth : Number
표시 객체의 폭을 픽셀 단위로 나타냅니다.
DisplayObject
  wordWrap : Boolean
텍스트 필드에 자동 줄 바꿈이 사용되는지 여부를 나타내는 부울 값입니다.
TextField
 Inheritedx : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 x 좌표를 나타냅니다.
DisplayObject
 Inheritedy : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 y 좌표를 나타냅니다.
DisplayObject
Public 메서드
 메서드다음에 의해 정의됨
  
새 TextField 인스턴스를 만듭니다.
TextField
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
  
newText 매개 변수에 지정된 문자열을 텍스트 필드의 텍스트 끝에 추가합니다.
TextField
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace 객체의 좌표계를 기준으로 표시 객체의 영역을 정의하는 사각형을 반환합니다.
DisplayObject
  
문자의 경계 상자인 사각형을 반환합니다.
TextField
  
x 및 y 매개 변수로 지정된 점에 있는 문자의 인덱스 값(0부터 시작)을 반환합니다.
TextField
  
지정된 문자 인덱스와 같은 단락에 있는 첫 문자의 인덱스를 반환합니다.
TextField
  
<img> 태그를 사용하여 HTML 형식 텍스트 필드에 추가된 이미지 또는 SWF 파일에 대한 지정된 ID의 DisplayObject 참조를 반환합니다.
TextField
  
x 및 y 매개 변수로 지정된 점에 있는 문자의 인덱스 값(0부터 시작)을 반환합니다.
TextField
  
charIndex 매개 변수로 지정된 문자가 들어 있는 행의 인덱스 값(0부터 시작)을 반환합니다.
TextField
  
getLineLength(lineIndex:int):int
특정 텍스트 행의 문자 수를 반환합니다.
TextField
  
지정된 텍스트 행에 대한 메트릭 정보를 반환합니다.
TextField
  
getLineOffset(lineIndex:int):int
lineIndex 매개 변수로 지정된 행에 있는 첫 문자의 문자 인덱스를 반환합니다.
TextField
  
getLineText(lineIndex:int):String
lineIndex 매개 변수로 지정된 행의 텍스트를 반환합니다.
TextField
  
지정된 문자 인덱스가 포함된 단락의 길이를 반환합니다.
TextField
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
대상 좌표 공간 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다.
DisplayObject
  
getTextFormat(beginIndex:int = -1, endIndex:int = -1):TextFormat
beginIndex 및 endIndex 매개 변수로 지정된 텍스트 범위에 대한 서식 정보가 들어 있는 TextFormat 객체를 반환합니다.
TextField
 Inherited
Point 객체를 Stage 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다.
DisplayObject
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
표시 객체를 평가하여 표시 객체와 겹치거나 교차하는지 확인합니다.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다.
DisplayObject
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
Point 객체를 표시 객체의 로컬 좌표에서 Stage 전역 좌표로 변환합니다.
DisplayObject
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher 객체에서 리스너를 제거합니다.
EventDispatcher
  
현재 선택 내용을 value 매개 변수의 내용으로 바꿉니다.
TextField
  
replaceText(beginIndex:int, endIndex:int, newText:String):void
beginIndex 및 endIndex 매개 변수로 지정된 문자 범위를 newText 매개 변수의 내용으로 바꿉니다.
TextField
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
  
setSelection(beginIndex:int, endIndex:int):void
beginIndex 및 endIndex 매개 변수로 지정된 첫 번째 및 마지막 문자의 인덱스 값으로 지정된 텍스트를 선택된 상태로 설정합니다.
TextField
  
setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void
텍스트 필드의 지정된 텍스트에 format 매개 변수로 지정된 텍스트 서식을 적용합니다.
TextField
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 다음에 의해 정의됨
 Inherited Flash Player가 운영 체제에서 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
 Inherited 표시 객체를 표시 목록에 추가할 때 전달됩니다.DisplayObject
 Inherited 표시 객체가 포함된 하위 트리를 추가하거나 또는 표시 객체를 스테이지 표시 목록에 직접 추가할 때 전달됩니다.DisplayObject
   컨트롤의 값이 수정된 경우에 전달됩니다.TextField
 Inherited 사용자가 동일한 InteractiveObject 위에서 포인팅 장치의 기본 버튼을 눌렀다 놓을 때 전달됩니다.InteractiveObject
 Inherited Flash Player가 운영 체제에서 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
 Inherited 객체의 doubleClickEnabled 플래그가 true로 설정되어 있는 경우 사용자가 동일한 InteractiveObject 위에서 포인팅 장치의 기본 버튼을 연속으로 빠르게 두 번 눌렀다 놓을 때 전달됩니다.InteractiveObject
 Inherited 재생 헤드가 새 프레임에 들어갈 때 전달됩니다.DisplayObject
 Inherited 표시 객체가 포커스를 얻은 후 전달됩니다.InteractiveObject
 Inherited 표시 객체가 포커스를 잃은 후 전달됩니다.InteractiveObject
 Inherited 사용자가 키를 누를 때 전달됩니다.InteractiveObject
 Inherited 사용자가 키보드를 사용하여 포커스를 바꾸려고 할 때 전달됩니다.InteractiveObject
 Inherited 사용자가 키를 놓을 때 전달됩니다.InteractiveObject
   사용자가 HTML 사용 가능 텍스트 필드에서 URL이 "event:"로 시작되는 하이퍼링크를 클릭할 때 전달됩니다.TextField
 Inherited Flash Player 윈도우에서 InteractiveObject 인스턴스 위에서 포인팅 장치 버튼을 누를 때 전달됩니다.InteractiveObject
 Inherited 사용자가 포인팅 장치를 사용하여 포커스를 바꾸려고 할 때 전달됩니다.InteractiveObject
 Inherited 포인팅 장치가 InteractiveObject 위에 있을 때 포인팅 장치를 움직이면 전달됩니다.InteractiveObject
 Inherited 포인팅 장치를 InteractiveObject 인스턴스에서 멀리 하면 전달됩니다.InteractiveObject
 Inherited Flash Player 윈도우에서 InteractiveObject 인스턴스 위로 포인팅 장치를 옮길 때 전달됩니다.InteractiveObject
 Inherited Flash Player 윈도우에서 InteractiveObject 인스턴스 위에서 포인팅 장치 버튼을 놓을 때 전달됩니다.InteractiveObject
 Inherited Flash Player 윈도우에서 InteractiveObject 인스턴스 위에 마우스를 놓고 휠을 굴릴 때 전달됩니다.InteractiveObject
 Inherited 표시 객체를 표시 목록에서 제거하려 할 때 전달됩니다.DisplayObject
 Inherited 표시 객체가 포함된 하위 트리를 제거하거나 표시 객체가 스테이지 표시 목록에서 직접 제거하려 할 때 전달됩니다.DisplayObject
 Inherited 표시 목록을 업데이트하고 렌더링하려 할 때 전달됩니다.DisplayObject
 Inherited 포인팅 장치를 InteractiveObject 인스턴스에서 멀리 하면 전달됩니다.InteractiveObject
 Inherited 포인팅 장치를 InteractiveObject 인스턴스 위로 옮길 때 전달됩니다.InteractiveObject
   사용자가 스크롤한 후 TextField 객체에 의해 전달됩니다.TextField
 Inherited 객체의 tabChildren 플래그 값이 변경될 때 전달됩니다.InteractiveObject
 Inherited 객체의 tabEnabled 플래그가 변경될 때 전달됩니다.InteractiveObject
 Inherited 객체의 tabIndex 속성 값이 변경될 때 전달됩니다.InteractiveObject
   사용자가 텍스트를 한 글자 이상 입력하면 Flash Player에서 textInput 이벤트를 전달합니다.TextField
속성 정보
alwaysShowSelection속성
alwaysShowSelection:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

true로 설정하면 텍스트 필드에 포커스가 없는 경우 Flash Player에서 텍스트 필드의 선택 영역이 회색으로 강조 표시됩니다. false로 설정하면 텍스트 필드에 포커스가 없는 경우 Flash Player에서 텍스트 필드의 선택 영역이 강조 표시되지 않습니다.

기본값은 false.


구현
    public function get alwaysShowSelection():Boolean
    public function set alwaysShowSelection(value:Boolean):void

참고 사항


예제

다음 파일을 컴파일하여 실행합니다. 파일을 실행한 후 두 텍스트 필드에서 각각 텍스트를 드래그하여 선택하고 두 텍스트 필드의 텍스트를 선택하여 포커스를 변경할 때 선택 강조 표시의 차이점을 확인합니다.

    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 = createTextField(0, 20, 200, 20);
            label1.text = "This text is selected.";
            label1.setSelection(0, 9);
            label1.alwaysShowSelection = true;

            var label2:TextField = createTextField(0, 50, 200, 20);
            label2.text = "Drag to select some of this text.";
        }

        private function createTextField(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  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : 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

참고 사항

autoSize속성 
autoSize:String  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 자동 크기 조절 및 정렬을 제어합니다. TextFieldAutoSize 상수에 사용할 수 있는 값은 TextFieldAutoSize.NONE(기본값), TextFieldAutoSize.LEFT, TextFieldAutoSize.RIGHTTextFieldAutoSize.CENTER입니다.

autoSize를 기본값인 TextFieldAutoSize.NONE으로 설정하면 크기가 자동으로 조절되지 않습니다.

autoSizeTextFieldAutoSize.LEFT로 설정하면 텍스트가 왼쪽 정렬로 간주되어 텍스트 필드의 왼쪽 여백이 고정되며 텍스트 필드의 단일 행에 대한 모든 크기 조절이 오른쪽 여백에 적용됩니다. 텍스트에 "\n" 또는 "\r" 등의 줄 바꿈이 포함된 경우 아래쪽 크기가 다음 텍스트 행에 맞게 조절됩니다. 또한 wordWraptrue로 설정하면 텍스트 필드의 아래쪽만 크기가 조절되고 오른쪽은 고정됩니다.

autoSizeTextFieldAutoSize.RIGHT로 설정하면 텍스트가 오른쪽 정렬로 간주되어 텍스트 필드의 오른쪽 여백이 고정되며 텍스트 필드의 단일 행에 대한 모든 크기 조절이 왼쪽 여백에 적용됩니다. 텍스트에 "\n" or "\r") 등의 줄 바꿈이 포함된 경우 아래쪽 크기가 다음 텍스트 행에 맞게 조절됩니다. 또한 wordWraptrue로 설정하면 텍스트 필드의 아래쪽만 크기가 조절되고 왼쪽은 고정됩니다.

autoSizeTextFieldAutoSize.CENTER로 설정하면 텍스트가 가운데 정렬로 간주되어 텍스트 필드의 단일 행에 대한 모든 크기 조절이 오른쪽 여백과 왼쪽 여백에 균등하게 적용됩니다. 텍스트에 "\n" 또는 "\r" 등의 줄 바꿈이 포함된 경우 아래쪽 크기가 다음 텍스트 행에 맞게 조절됩니다. 또한 wordWraptrue로 설정하면 텍스트 필드의 아래쪽만 크기가 조절되고 왼쪽과 오른쪽은 고정됩니다.


구현
    public function get autoSize():String
    public function set autoSize(value:String):void

오류
ArgumentError — 지정된 autoSize가 flash.text.TextFieldAutoSize의 멤버가 아닙니다.

참고 사항

background속성 
background:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드에 배경 칠이 있는지 여부를 지정합니다. true이면 텍스트 필드에 배경 칠이 있습니다. false이면 텍스트 필드에 배경 칠이 없습니다. 텍스트 필드의 배경색을 설정하려면 backgroundColor 속성을 사용합니다.

기본값은 false.


구현
    public function get background():Boolean
    public function set background(value:Boolean):void

참고 사항

backgroundColor속성 
backgroundColor:uint  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 배경색입니다. 기본값은 0xFFFFFF(흰색)입니다. 이 속성은 현재 배경이 없어도 가져오거나 설정할 수 있지만 색상을 표시하려면 텍스트 필드의 background 속성을 true로 설정해야 합니다.


구현
    public function get backgroundColor():uint
    public function set backgroundColor(value:uint):void

참고 사항

border속성 
border:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드에 테두리가 있는지 여부를 지정합니다. true이면 텍스트 필드에 테두리가 있습니다. false이면 텍스트 필드에 테두리가 없습니다. 테두리 색상을 설정하려면 borderColor 속성을 사용합니다.

기본값은 false.


구현
    public function get border():Boolean
    public function set border(value:Boolean):void

참고 사항

borderColor속성 
borderColor:uint  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 테두리 색상입니다. 기본값은 0x000000(검정)입니다. 이 속성은 현재 테두리가 없어도 가져오거나 설정할 수 있지만 색상을 표시하려면 텍스트 필드의 border 속성을 true로 설정해야 합니다.


구현
    public function get borderColor():uint
    public function set borderColor(value:uint):void

참고 사항

bottomScrollV속성 
bottomScrollV:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

지정된 텍스트 필드에서 현재 맨 아래에 표시되는 행을 나타내는 정수 인덱스(1부터 시작)입니다. 텍스트 필드는 텍스트 블록 위의 "윈도우"라고 이해할 수 있습니다. scrollV 속성은 윈도우에서 맨 위에 표시되는 행의 인덱스(1부터 시작)입니다.

scrollVbottomScrollV로 지정한 행 사이의 모든 텍스트가 현재 텍스트 필드에 표시됩니다.


구현
    public function get bottomScrollV():int

참고 사항

caretIndex속성 
caretIndex:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

삽입점(캐럿) 위치의 인덱스입니다. 삽입점이 표시되지 않는 경우 이 값은 필드에 포커스가 돌아올 때 삽입점이 놓일 위치입니다. 이 위치는 일반적으로 삽입점이 마지막으로 있었던 위치이며, 필드가 포커스를 가진 적이 없는 경우에는 0입니다.

선택 범위 인덱스는 0부터 시작합니다. 예를 들어, 첫 위치는 0이고 두 번째 위치는 1과 같은 식입니다.


구현
    public function get caretIndex():int

참고 사항


예제

이 예제에서는 TextField 인스턴스가 만들어지고 텍스트로 채워집니다. 이벤트 리스너가 할당되어 사용자가 TextField를 클릭하면 printCursorPosition 메서드가 호출됩니다. 이러한 경우 caretIndex, selectionBeginIndexselectionEndIndex 속성의 값이 출력됩니다.

이 예제를 실행하고 TextField를 클릭하여 텍스트를 선택해 봅니다. 그런 다음 텍스트를 선택하지 않고 필드를 클릭합니다. 텍스트를 선택하지 않고 텍스트를 클릭하면 caretIndex 속성에서 삽입점이 발생한 위치를 나타내고, selectionBeginIndexselectionEndIndex 속성은 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 = createTextField(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 createTextField(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  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

HTML 텍스트가 있는 텍스트 필드에서 공백 문자, 줄 바꿈 등의 불필요한 공백을 제거할지 여부를 지정하는 부울 값입니다. 기본값은 false입니다. condenseWhite 속성은 htmlText 속성이 설정된 텍스트에만 적용되고 text 속성이 설정된 텍스트에는 적용되지 않습니다. 텍스트에 text 속성을 설정하면 condenseWhite가 무시됩니다.

condenseWhitetrue로 설정한 경우 텍스트 필드에 줄 바꿈을 배치하려면 <BR><P> 같은 표준 HTML 명령을 사용해야 합니다.

condenseWhite 속성은 htmlText 속성을 설정하기 전에 설정해야 합니다.


구현
    public function get condenseWhite():Boolean
    public function set condenseWhite(value:Boolean):void

참고 사항


예제

다음 예제에서는 condenseWhitefalse로 설정할 때와 true로 설정할 때의 차이를 보여 줍니다.

package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class TextField_condenseWhite extends Sprite {
        public function TextField_condenseWhite() {
            var tf1:TextField = createTextField(0, 0, 200, 50);
            tf1.condenseWhite = false;
            tf1.htmlText = "keep    on\n\ttruckin'";
            
            var tf2:TextField = createTextField(0, 120, 200, 50);
            tf2.condenseWhite = true;
            tf2.htmlText = "keep    on\n\ttruckin'";
        }

        private function createTextField(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:TextFormat  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

replaceSelectedText() 메서드로 삽입한 텍스트 또는 사용자가 입력한 텍스트 등 새로 삽입되는 텍스트에 적용할 서식을 지정합니다.

defaultTextFormat 속성에 액세스할 때 반환되는 TextFormat 객체에는 정의된 모든 속성이 포함됩니다. null인 속성은 없습니다.

참고: 텍스트 필드에 스타일 시트가 적용된 경우에는 이 속성을 설정할 수 없습니다.


구현
    public function get defaultTextFormat():TextFormat
    public function set defaultTextFormat(value:TextFormat):void

오류
Error — 이 메서드는 스타일 시트가 있는 텍스트 필드에 사용할 수 없습니다.

참고 사항

displayAsPassword속성 
displayAsPassword:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드가 암호 텍스트 필드인지 여부를 지정합니다. 이 속성의 값이 true이면 텍스트 필드가 암호 텍스트 필드로 간주되며 실제 문자 대신 별표를 사용하여 입력 문자가 숨겨집니다. 이 값이 false이면 텍스트 필드가 암호 텍스트 필드로 간주되지 않습니다. 암호 모드를 사용하면 잘라내기 및 복사 명령과 해당 키보드 단축키가 작동하지 않습니다. 이 보안 메커니즘은 악의적인 사용자가 단축키를 사용하여 아무도 없는 컴퓨터에서 암호를 알아낼 수 없게 합니다.

기본값은 false.


구현
    public function get displayAsPassword():Boolean
    public function set displayAsPassword(value:Boolean):void
embedFonts속성 
embedFonts:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

포함된 글꼴 외곽선을 사용하여 렌더링할지 여부를 지정합니다. false이면 Flash Player에서 장치 글꼴을 사용하여 텍스트 필드를 렌더링합니다.

텍스트 필드의 embedFonts 속성을 true로 설정한 경우 텍스트 필드에 적용된 TextFormat 객체의 font 속성을 사용하여 해당 텍스트의 글꼴을 지정해야 합니다. 지정한 글꼴이 SWF 파일에 포함되어 있지 않으면 텍스트가 표시되지 않습니다.

기본값은 false.


구현
    public function get embedFonts():Boolean
    public function set embedFonts(value:Boolean):void

참고 사항

gridFitType속성 
gridFitType:String  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : 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

참고 사항

htmlText속성 
htmlText:String  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 내용에 대한 HTML 표현이 들어 있습니다.

Flash Player에서는 다음과 같은 HTML 태그를 지원합니다.

태그 설명
앵커 태그 <a> 태그는 하이퍼링크를 만들며 다음 특성을 지원합니다.
  • target: 페이지를 로드할 대상 윈도우의 이름을 지정합니다. 사용 가능한 옵션에는 _self, _blank, _parent_top 등이 있습니다. _self 옵션은 현재 윈도우의 현재 프레임을 지정하고, _blank는 새로운 윈도우를 지정하고, _parent는 현재 프레임의 부모를 지정하고, _top은 현재 윈도우의 최상위 프레임을 지정합니다.
  • href: URL 또는 ActionScript link 이벤트를 지정합니다. URL은 절대값 또는 페이지를 로드하는 SWF 파일 위치에 대한 상대값일 수도 있습니다. URL에 대한 절대 참조의 예제로는 http://www.adobe.com을, 상대 참조의 예제로/index.html을 들 수 있습니다. 절대 URL 앞에는 http:// 접두어가 있어야 합니다. 그렇지 않으면 해당 URL이 상대 URL로 간주됩니다. link 이벤트를 사용하면 링크를 통해 URL을 여는 대신 SWF 파일에서 ActionScript 함수를 실행할 수 있습니다. link 이벤트를 지정하려면 href 특성에 http 체계 대신 이벤트 체계를 사용합니다. 예를 들어 href="event:myText"href="http://myURL" 대신 사용할 수 있습니다. 사용자가 이벤트 체계를 포함하고 있는 하이퍼링크를 클릭하면 텍스트 필드가 링크 TextEvent를 text 속성과 함께 전달하며, 이 속성은 "myText"로 설정됩니다. 그러면 ActionScript 함수를 생성할 수 있고 이 함수는 TextEvent 링크가 전달될 때마다 실행됩니다. 스타일 시트를 사용하여 앵커 태그의 a:link, a:hovera:active 스타일을 정의할 수도 있습니다.
굵게 태그 <b> 태그는 텍스트를 굵은 글꼴로 렌더링합니다. 이때 사용된 글꼴이 굵은 글꼴을 지원해야 합니다.
행 분리 태그 <br> 태그는 텍스트 필드에서 줄을 바꿉니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정해야 합니다.
글꼴 태그 <font> 태그는 텍스트를 표시할 글꼴 또는 글꼴 목록을 지정합니다. 지원되는 특성은 다음과 같습니다.
  • color: 16진수 색상(#FFFFFF) 값만 지원됩니다.
  • face: 사용할 글꼴의 이름을 지정합니다. 다음 예제와 같이 글꼴 이름 목록을 쉼표로 구분하여 지정할 수도 있습니다. 이 경우 Flash Player에서는 사용 가능한 첫 번째 글꼴이 선택됩니다. 지정된 글꼴이 사용자의 컴퓨터 시스템에 설치되어 있지 않거나 SWF에 포함되어 있지 않으면 Flash Player에서는 대체 글꼴이 선택됩니다.
  • size: 글꼴의 크기를 지정합니다. 16 또는 18 등의 절대 픽셀 크기를 사용할 수도 있고, +2 또는 -4 등의 상대 포인트 크기를 사용할 수도 있습니다.
이미지 태그 <img> 태그를 사용하면 외부 이미지 파일(JPEG, GIF, PNG), SWF 파일 및 무비 클립을 텍스트 필드에 포함할 수 있습니다. 텍스트는 텍스트 필드에 포함된 이미지 주위로 자동 전개됩니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정하고 텍스트 줄 바꿈을 설정해야 합니다.

<img> 태그는 다음 특성을 지원합니다.

  • src: 이미지나 SWF 파일에 대한 URL 또는 라이브러리의 무비 클립 심볼에 대한 링크 식별자를 지정합니다. 이 특성은 필수이며, 그 외의 다른 특성은 선택 사항입니다. 외부 파일(JPEG, GIF, PNG 및 SWF 파일)은 완전히 다운로드될 때까지 표시되지 않습니다.
  • width: 삽입할 이미지, SWF 파일 또는 무비 클립의 폭(픽셀 단위)입니다.
  • height: 삽입할 이미지, SWF 파일 또는 무비 클립의 높이(픽셀 단위)입니다.
  • align: 텍스트 필드 내에 포함된 이미지의 가로 정렬 방법을 지정합니다. leftright 값을 사용할 수 있으며 기본값은 left입니다.
  • hspace: 이미지의 왼쪽과 오른쪽에 텍스트를 표시하지 않을 간격을 지정합니다. 기본값은 8입니다.
  • vspace: 이미지의 위쪽과 아래쪽에 텍스트를 표시하지 않을 간격을 지정합니다. 기본값은 8입니다.
  • id: 이미지 파일, SWF 파일 또는 무비 클립이 포함된 Flash Player로 만든 무비 클립 인스턴스의 이름을 지정합니다. 이는 포함된 내용을 ActionScript로 제어하려는 경우 유용합니다.
  • checkPolicyFile: Flash Player에서 이미지의 도메인과 관련된 서버의 크로스 도메인 정책 파일을 확인하도록 지정합니다. 크로스 도메인 정책 파일이 있으면 이 파일에 나열된 도메인의 SWF 파일에서 로드된 이미지의 데이터에 액세스할 수 있습니다. 예를 들어 로드된 이미지를 source 매개 변수로 사용하여 BitmapData.draw() 메서드를 호출할 수 있습니다. 자세한 내용은 ActionScript 3.0 프로그래밍의 "Flash Player 보안" 장을 참조하십시오.

Flash에서는 텍스트 필드에 포함된 미디어를 전체 크기로 표시합니다. 포함되는 미디어의 크기를 지정하려면 <img> 태그의 heightwidth 특성을 사용합니다.

일반적으로 텍스트 필드에 포함된 이미지는 <img> 태그 다음 줄에 표시됩니다. 그러나 <img> 태그가 텍스트 필드의 첫 문자인 경우에는 이미지가 텍스트 필드의 첫 줄에 표시됩니다.

기울임체 태그 <i> 태그는 대상 텍스트를 기울임체로 표시합니다. 이때 사용된 글꼴이 기울임체를 지원해야 합니다.
목록 항목 태그 <li> 태그는 이 태그로 둘러싼 텍스트 앞에 불릿 기호를 표시합니다. 참고: Flash Player에서는 순서 있는 목록 태그와 순서 없는 목록 태그(<ol><ul>)가 인식되지 않으므로 이러한 태그는 목록의 렌더링 방식에 영향을 주지 않습니다. 모든 목록에는 순서가 없으며 모든 목록 항목에 불릿 기호가 사용됩니다.
단락 태그 <p> 태그는 새로운 단락을 만듭니다. 이 태그를 사용하려면 텍스트 필드를 여러 행 텍스트 필드로 설정해야 합니다. <p> 태그는 다음 특성을 지원합니다.
  • align: 단락 내에서 텍스트 정렬 방법을 지정합니다. left, right, justifycenter 값을 사용할 수 있습니다.
  • class: flash.text.StyleSheet 객체로 정의된 CSS 스타일 클래스를 지정합니다.
스타일 범위 지정 태그 <span> 태그는 CSS 텍스트 스타일과 함께 사용해야 합니다. 이 태그는 다음 특성을 지원합니다.
  • class: flash.text.StyleSheet 객체로 정의된 CSS 스타일 클래스를 지정합니다.
텍스트 서식 태그

<textformat> 태그를 사용하면 행간, 들여쓰기, 여백, 탭 위치 등 TextFormat 클래스의 단락 서식 속성 하위 집합을 텍스트 필드 내에서 사용할 수 있습니다. <textformat> 태그는 내장된 HTML 태그와 함께 사용할 수 있습니다.

<textformat> 태그에는 다음과 같은 특성이 있습니다.

  • blockindent: 블록 들여쓰기를 포인트 단위로 지정하며 TextFormat.blockIndent에 해당합니다.
  • indent: 왼쪽 여백에서 단락의 첫 글자 사이의 들여쓰기를 지정하며 TextFormat.indent에 해당합니다. 양수와 음수를 모두 사용할 수 있습니다.
  • leading: 행 사이의 행간(세로 간격)을 지정하며 TextFormat.leading에 해당합니다. 양수와 음수를 모두 사용할 수 있습니다.
  • leftmargin: 단락의 왼쪽 여백을 포인트 단위로 지정하며 TextFormat.leftMargin에 해당합니다.
  • rightmargin: 단락의 오른쪽 여백을 포인트 단위로 지정하며 TextFormat.rightMargin에 해당합니다.
  • tabstops: 사용자 정의 탭 위치를 음수가 아닌 정수의 배열로 지정하며 TextFormat.tabStops에 해당합니다.
밑줄 태그 <u> 태그는 대상 텍스트에 밑줄을 긋습니다.

Flash Player에서는 다음과 같은 HTML 엔터티를 지원합니다.

엔터티 설명
&lt; < (보다 작음)
&gt; > (보다 큼)
&amp; & (앰퍼센드)
&quot; " (이중 따옴표)
&apos; ' (아포스트로피, 작은 따옴표)

Flash는 &#38;(ASCII 앰퍼샌드) 및 &#x20AC;(Unicode € 심볼) 등의 명시적 문자 코드도 지원합니다.


구현
    public function get htmlText():String
    public function set htmlText(value:String):void

참고 사항


예제

다음 예제에서는 tf1이라는 TextField를 만들고 text 속성에 HTML 형식 문자열을 할당합니다. htmlText 속성을 추적하면, <P> 및 <FONT> 등의 추가 태그가 Flash Player에서 자동으로 추가된 상태로 HTML 형식 문자열이 출력됩니다. text 속성의 값을 추적하면 서식 없는 문자열이 HTML 태그 없이 표시됩니다.

그런 다음 비교를 위해 tf2라는 TextField 객체에 동일한 단계를 수행하고, 이번에는 htmlText 속성을 설정하기 전에 tf2styleSheet 속성에 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 = createTextField(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 = createTextField(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 createTextField(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속성 
length:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 문자 수입니다. 탭(\t) 같은 문자는 한 문자로 계산됩니다.


구현
    public function get length():int
maxChars속성 
maxChars:int  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사용자가 입력하여 텍스트 필드에 포함될 수 있는 최대 문자 수입니다. 스크립트를 사용하면 maxChars에서 허용하는 것보다 많은 텍스트를 삽입할 수 있습니다. maxChars 속성은 사용자가 입력할 수 있는 텍스트의 양만 나타냅니다. 이 속성의 값이 0이면 사용자는 텍스트를 무제한 입력할 수 있습니다.

기본값은 0.


구현
    public function get maxChars():int
    public function set maxChars(value:int):void
maxScrollH속성 
maxScrollH:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

scrollH의 최대값입니다.


구현
    public function get maxScrollH():int

참고 사항

maxScrollV속성 
maxScrollV:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

scrollV의 최대값입니다.


구현
    public function get maxScrollV():int

참고 사항

mouseWheelEnabled속성 
mouseWheelEnabled:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사용자가 텍스트 필드를 클릭하고 마우스 휠을 굴릴 때 여러 줄 텍스트 필드가 자동으로 스크롤되는지 여부를 나타내는 부울 값입니다. 기본적으로 이 값은 true입니다. 이 속성은 마우스 휠로 텍스트 필드의 내용을 스크롤하지 못하도록 하거나 고유한 텍스트 필드 스크롤 방식을 구현할 때 유용합니다.


구현
    public function get mouseWheelEnabled():Boolean
    public function set mouseWheelEnabled(value:Boolean):void
multiline속성 
multiline:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드가 여러 행 텍스트 필드인지 여부를 나타냅니다. 값이 true이면 텍스트 필드가 여러 행이고, 값이 false이면 텍스트 필드가 한 행입니다.

기본값은 false.


구현
    public function get multiline():Boolean
    public function set multiline(value:Boolean):void

참고 사항

numLines속성 
numLines:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

여러 행 텍스트 필드의 텍스트 행 수를 정의합니다. wordWrap 속성을 true로 설정한 경우 텍스트가 줄 바꿈되면 행 수가 증가합니다.


구현
    public function get numLines():int

참고 사항

restrict속성 
restrict:String  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사용자가 텍스트 필드에 입력할 수 있는 문자 세트를 나타냅니다. 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  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

현재 가로 스크롤 위치입니다. scrollH 속성이 0이면 텍스트가 가로 방향으로 스크롤되지 않은 것입니다. 이 속성 값은 가로 위치를 픽셀 단위로 나타내는 정수입니다.

가로 스크롤 단위는 픽셀인 반면 세로 스크롤 단위는 행입니다. 가로 스크롤을 픽셀 단위로 측정하는 이유는 일반적으로 사용하는 대부분의 글꼴은 간격이 비례적이므로 문자마다 폭이 다를 수 있기 때문입니다. Flash Player에서 세로 스크롤을 행 단위로 수행하는 이유는 일반적으로 텍스트의 행 일부가 아닌 전체 텍스트 행을 표시하는 것이 유용하기 때문입니다. 한 행에 여러 글꼴이 사용되는 경우 행의 높이는 사용 중인 가장 큰 글꼴에 맞게 조정됩니다.

참고: scrollH 속성은 0부터 시작하는 반면 scrollV 세로 스크롤 속성은 1부터 시작합니다.


구현
    public function get scrollH():int
    public function set scrollH(value:int):void

참고 사항

scrollV속성 
scrollV:int  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드에서 텍스트의 수직 위치입니다. scrollV 속성은 긴 텍스트에서 특정 단락으로 이동하거나 스크롤 텍스트 필드를 만들 때 유용합니다.

세로 스크롤 단위는 행인 반면 가로 스크롤 단위는 픽셀입니다. 표시된 첫 번째 행이 텍스트 필드의 첫 행인 경우 scrollV는 0이 아니라 1로 설정됩니다. 가로 스크롤을 픽셀 단위로 측정하는 이유는 대부분의 글꼴은 간격이 비례적이므로 문자마다 폭이 다를 수 있기 때문입니다. Flash에서 세로 스크롤을 행 단위로 수행하는 이유는 일반적으로 텍스트의 행 일부가 아닌 전체 텍스트 행을 표시하는 것이 유용하기 때문입니다. 한 행에 여러 글꼴이 사용되는 경우 행의 높이는 사용 중인 가장 큰 글꼴에 맞게 조정됩니다.


구현
    public function get scrollV():int
    public function set scrollV(value:int):void

참고 사항

selectable속성 
selectable:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드를 선택할 수 있는지 여부를 나타내는 부울 값입니다. 값이 true이면 텍스트를 선택할 수 있습니다. selectable 속성은 텍스트 필드를 편집할 수 있는지 여부가 아니라 텍스트 필드를 선택할 수 있는지 여부를 제어합니다. 동적 텍스트 필드는 편집할 수 없더라도 선택할 수 있습니다. 동적 텍스트 필드를 선택할 수 없게 하면 사용자가 텍스트를 선택할 수 없습니다.

selectablefalse로 설정하면 텍스트 필드의 텍스트가 마우스나 키보드의 선택 명령에 응답하지 않으며 [복사] 명령으로 텍스트를 복사할 수 없습니다. selectabletrue로 설정하면 마우스나 키보드로 텍스트 필드의 텍스트를 선택할 수 있고 [복사] 명령으로 텍스트를 복사할 수 있습니다. 텍스트 필드가 입력 텍스트 필드가 아닌 동적 텍스트 필드인 경우에도 이러한 방법으로 텍스트를 선택할 수 있습니다.

기본값은 true.


구현
    public function get selectable():Boolean
    public function set selectable(value:Boolean):void

참고 사항

selectionBeginIndex속성 
selectionBeginIndex:int  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

현재 선택 영역에 있는 첫 문자의 인덱스 값(0부터 시작)입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다. 선택한 텍스트가 없으면 이 속성은 caretIndex의 값입니다.


구현
    public function get selectionBeginIndex():int

참고 사항


예제

이 예제에서는 TextField 인스턴스가 만들어지고 텍스트로 채워집니다. 이벤트 리스너가 할당되어 사용자가 TextField를 클릭하면 printCursorPosition 메서드가 호출됩니다. 이러한 경우 caretIndex, selectionBeginIndexselectionEndIndex 속성의 값이 출력됩니다.

이 예제를 실행하고 TextField를 클릭하여 텍스트를 선택해 봅니다. 그런 다음 텍스트를 선택하지 않고 필드를 클릭합니다. 텍스트를 선택하지 않고 텍스트를 클릭하면 caretIndex 속성에서 삽입점이 발생한 위치를 나타내고, selectionBeginIndexselectionEndIndex 속성은 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 = createTextField(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 createTextField(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  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

현재 선택 영역에 있는 마지막 문자의 인덱스 값(0부터 시작)입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다. 선택한 텍스트가 없으면 이 속성은 caretIndex의 값입니다.


구현
    public function get selectionEndIndex():int

참고 사항


예제

이 예제에서는 TextField 인스턴스가 만들어지고 텍스트로 채워집니다. 이벤트 리스너가 할당되어 사용자가 TextField를 클릭하면 printCursorPosition 메서드가 호출됩니다. 이러한 경우 caretIndex, selectionBeginIndexselectionEndIndex 속성의 값이 출력됩니다.

이 예제를 실행하고 TextField를 클릭하여 텍스트를 선택해 봅니다. 그런 다음 텍스트를 선택하지 않고 필드를 클릭합니다. 텍스트를 선택하지 않고 텍스트를 클릭하면 caretIndex 속성에서 삽입점이 발생한 위치를 나타내고, selectionBeginIndexselectionEndIndex 속성은 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 = createTextField(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 createTextField(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  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : 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

참고 사항

styleSheet속성 
styleSheet:StyleSheet  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드에 스타일 시트를 연결합니다. 스타일 시트를 만드는 데 대한 자세한 내용은 StyleSheet 클래스 및 ActionScript 3.0 프로그래밍을 참조하십시오.

언제든지 텍스트 필드에 연결된 스타일 시트를 변경할 수 있습니다. 사용 중인 스타일 시트를 변경하면 텍스트 필드가 새 스타일 시트를 사용하여 다시 그려집니다. 스타일 시트를 null 또는 undefined로 설정하여 스타일 시트를 제거할 수 있습니다. 사용 중인 스타일 시트를 제거하면 스타일 시트 없이 텍스트 필드가 다시 그려집니다.

참고: 스타일 시트를 제거하면 TextField.textTextField.htmlText의 내용이 변경되어 이전에 스타일 시트에 의해 적용된 서식이 통합됩니다. 서식 지정 없이 원래 TextField.htmlText 내용을 유지하려면 스타일 시트를 제거하기 전에 값을 변수에 저장하십시오.


구현
    public function get styleSheet():StyleSheet
    public function set styleSheet(value:StyleSheet):void

참고 사항

text속성 
text:String  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 현재 텍스트인 문자열입니다. 각 행은 캐리지 리턴 문자('\r' , ASCII 13)로 구분됩니다. 이 속성에는 HTML 태그를 제외한 텍스트 필드의 서식 없는 텍스트가 포함됩니다.

HTML 형식의 텍스트를 가져오려면 htmlText 속성을 사용합니다.


구현
    public function get text():String
    public function set text(value:String):void

참고 사항


예제

다음 예제에서는 tf1이라는 TextField를 만들고 text 속성에 HTML 형식 문자열을 할당합니다. htmlText 속성을 추적하면, <P> 및 <FONT> 등의 추가 태그가 Flash Player에서 자동으로 추가된 상태로 HTML 형식 문자열이 출력됩니다. text 속성의 값을 추적하면 서식 없는 문자열이 HTML 태그 없이 표시됩니다.

그런 다음 비교를 위해 tf2라는 TextField 객체에 동일한 단계를 수행하고, 이번에는 htmlText 속성을 설정하기 전에 tf2styleSheet 속성에 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 = createTextField(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 = createTextField(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 createTextField(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  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 16진수 형식 텍스트 색상입니다. 16진수 색상 시스템은 여섯 자리 숫자를 사용하여 색상 값을 나타냅니다. 각 자리 숫자에는 16개의 값 또는 문자를 사용할 수 있습니다. 문자 범위는 0에서 9 사이 및 A에서 F 사이입니다. 예를 들어 검정은 0x000000이고 흰색은 0xFFFFFF입니다.

기본값은 0 (0x000000).


구현
    public function get textColor():uint
    public function set textColor(value:uint):void

예제

다음 ActionScript에서는 TextField 객체를 만들고 해당 textColor 속성을 빨강(0xFF0000)으로 변경합니다.

package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class TextField_textColor extends Sprite {
        public function TextField_textColor() {
            var tf:TextField = createTextField(10, 10, 100, 300);
            tf.text = "This will be red text";
            tf.textColor = 0xFF0000;            
        }

        private function createTextField(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  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트의 높이(픽셀 단위)입니다.


구현
    public function get textHeight():Number

참고 사항


예제

다음 예제에서는 TextField 객체를 만들고 텍스트를 할당합니다. trace 문은 textWidthtextHeight 속성 값을 표시합니다. 비교를 위해 widthheight 속성도 표시됩니다. 이때 표시되는 textHeighttextWidth 값은 컴퓨터에 사용되는 글꼴에 따라 다를 수 있습니다.

package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class TextField_textHeight extends Sprite {
        public function TextField_textHeight() {
            var tf:TextField = createTextField(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 createTextField(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;
        }
    }
}
textWidth속성 
textWidth:Number  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트의 폭(픽셀 단위)입니다.


구현
    public function get textWidth():Number

참고 사항


예제

다음 예제에서는 TextField 객체를 만들고 텍스트를 할당합니다. trace 문은 textWidthtextHeight 속성 값을 표시합니다. 비교를 위해 widthheight 속성도 표시됩니다. 이때 표시되는 textHeighttextWidth 값은 컴퓨터에 사용되는 글꼴에 따라 다를 수 있습니다.

package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class TextField_textHeight extends Sprite {
        public function TextField_textHeight() {
            var tf:TextField = createTextField(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 createTextField(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  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

이 텍스트 필드의 글리프 가장자리 두께입니다. 이 속성은 flash.text.AntiAliasTypeflash.text.AntiAliasType.ADVANCED로 설정한 경우에만 적용됩니다.

thickness의 범위는 -200에서 200 사이입니다. thickness를 이 범위에서 벗어난 값으로 설정하면 속성이 범위 내의 가장 가까운 값(-200 또는 200)으로 설정됩니다.

기본값은 0.


구현
    public function get thickness():Number
    public function set thickness(value:Number):void

참고 사항

type속성 
type:String  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 유형입니다. 값으로는 TextFieldType 상수 중 하나가 사용됩니다. TextFieldType.DYNAMIC은 사용자가 편집할 수 없는 동적 텍스트 필드를, TextFieldType.INPUT은 사용자가 편집할 수 있는 입력 텍스트 필드를 지정합니다.

기본값은 dynamic.


구현
    public function get type():String
    public function set type(value:String):void

오류
ArgumentError — 지정된 type이 flash.text.TextFieldType의 멤버가 아닙니다.

참고 사항


예제

다음 예제에서는 두 개의 텍스트 필드 tfDynamictfInput을 만듭니다. 두 텍스트 필드에 텍스트를 입력합니다. 그러나 tfDynamictype 속성은 TextFieldType.DYNAMIC으로 설정되어 있고 tfInputtype 속성은 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 = createTextField(10, 10, 100, 20);
            tfDynamic.type = TextFieldType.DYNAMIC;
            tfDynamic.text = "hello";

            var tfInput:TextField = createTextField(10, 45, 100, 20);
            tfInput.type = TextFieldType.INPUT;
            tfInput.text = "world";
        }

        private function createTextField(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  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트와 함께 텍스트 서식을 복사하여 붙여 넣을지 여부를 지정합니다. true로 설정하면 텍스트 필드 간에 텍스트를 복사하여 붙여 넣을 때 Flash Player에서 정렬, 굵게, 기울임체 등의 서식을 함께 복사하여 붙여 넣습니다. 이때 복사하여 붙여 넣는 원본 텍스트 필드와 대상 텍스트 필드 모두에서 useRichTextClipboardtrue로 설정해야 합니다. 기본값은 false입니다.


구현
    public function get useRichTextClipboard():Boolean
    public function set useRichTextClipboard(value:Boolean):void
wordWrap속성 
wordWrap:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드에 자동 줄 바꿈이 사용되는지 여부를 나타내는 부울 값입니다. 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 = createTextField(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 = createTextField(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 createTextField(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
Player 버전 : Flash Player 9

새 TextField 인스턴스를 만듭니다. TextField 인스턴스를 만든 후 부모 DisplayObjectContainer 객체의 addChild() 또는 addChildAt() 메서드를 호출하여 TextField 인스턴스를 표시 목록에 추가합니다.

텍스트 필드의 기본 크기는 100 x 100픽셀입니다.

메서드 정보
appendText()메서드
public function appendText(newText:String):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

newText 매개 변수에 지정된 문자열을 텍스트 필드의 텍스트 끝에 추가합니다. 이 메서드는 추가 할당(+=)을 text 속성(예: someTextField.text += moreText)에 하는 것보다 효율적입니다. 특히 내용이 많은 텍스트 필드의 경우에 유용합니다.

매개 변수

newText:String — 기존 텍스트에 추가할 문자열입니다.


예제

다음 예를 보면 주말이 아닐 경우 시간을, 또는 주말일 경우 "It's the weekend."라는 텍스트를 보여 줍니다. 또한 특정 위치까지 문자의 수와 텍스트 필드의 줄 수를 계산합니다.

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
Player 버전 : Flash Player 9

문자의 경계 상자인 사각형을 반환합니다.

매개 변수

charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 위치는 0, 두 번째 위치는 1입니다.

반환값
Rectangle — 문자의 경계 상자를 정의하는 xy의 최소값과 최대값으로 그린 사각형입니다.

참고 사항


예제

다음 예제에서는 getCharBoundaries() 메서드를 사용해서 사용자가 선택한 문자를 표시합니다(스포트라이트를 둠).

이 클래스는 선택된 각 문자 주위에 사각형을 그리기 위해 사용할 spotlight Shape 객체를 정의하고 있습니다. 사용자가 myTextField 텍스트 필드를 클릭하면 clickHandler() 메서드가 호출됩니다.

clickHandler() 메서드에서 getCharIndexAtPoint() 메서드는 클릭한 문자의 인덱스를 마우스로 클릭한 localXlocalY 좌표값에 기초해서 가져오며, 이 좌표는 포함하고 있는 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
Player 버전 : Flash Player 9

xy 매개 변수로 지정된 점에 있는 문자의 인덱스 값(0부터 시작)을 반환합니다.

매개 변수

x:Number — 문자의 x 좌표입니다.
 
y:Number — 문자의 y 좌표입니다.

반환값
int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어, 첫 번째 위치는 0, 두 번째 위치는 1입니다. 점이 문자 위에 있지 않으면 -1이 반환됩니다.

예제

다음 예제에서, 사용자가 어떤 문자를 클릭하면, 클릭한 문자는 그 텍스트 위의 다른 텍스트 필드에 복사됩니다.

첫 번째 텍스트 필드는 사용자가 선택할 텍스트를 담습니다. 텍스트를 클릭해도 선택되지 않도록 하려면 selectable 속성을 false로 설정합니다. 사용자가 firstTextField 텍스트 필드를 클릭하면 clickHandler() 메서드가 호출됩니다.

clickHandler() 메서드에서 getCharIndexAtPoint() 메서드는 마우스로 클릭한 localXlocalY 좌표를 기준으로 문자의 인덱스를 반환합니다. 텍스트 필드가 텍스트보다 더 클 수 있기 때문에 반환한 정수(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
Player 버전 : Flash Player 9

지정된 문자 인덱스와 같은 단락에 있는 첫 문자의 인덱스를 반환합니다.

매개 변수

charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.

반환값
int — 동일한 단락에 있는 첫 문자의 인덱스 값(0부터 시작)입니다.

오류
RangeError — 지정된 문자 인덱스가 범위를 벗어납니다.

예제

다음 예제를 보면 텍스트 필드 내용에 단락 서식이 적용됩니다. 사용자가 단락을 클릭하면 단락의 텍스트가 오른쪽 정렬되고, 단락을 다시 한번 클릭하면 원래(기본값) 서식(왼쪽 정렬)으로 되돌아갑니다.

생성자에서는 myTextField 텍스트 필드가 줄 바꿈으로 설정됩니다. getTextFormat 메서드가 텍스트 필드 내용에서 첫 문자의 원래 서식을 반환하고, 해당 메서드는 originalFormat TextFormat 객체에 위치하게 됩니다. 새로운 TextFormat 객체(newFormat)가 정의되고 align 속성이 오른쪽 정렬로 할당됩니다. 사용자가 텍스트 필드를 클릭하면 clickHandler() 메서드가 호출됩니다.

clickHandler() 메서드에서 getCharIndexAtPoint() 메서드는 마우스로 클릭한 localXlocalY 좌표를 기준으로 문자의 인덱스를 반환합니다. 첫 번째 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
Player 버전 : Flash Player 9

<img> 태그를 사용하여 HTML 형식 텍스트 필드에 추가한 이미지 또는 SWF 파일에 지정된 id의 DisplayObject 참조를 반환합니다. <img> 태그의 형식은 다음과 같습니다.

<img src = 'filename.jpg' id = 'instanceName' >

매개 변수

id:String<img> 태그의 id 특성에서 비교할 id입니다.

반환값
DisplayObject — 텍스트 필드의 <img> 태그에 있는 id 특성과 일치하는 이미지 또는 SWF 파일에 해당하는 표시 객체입니다. 외부 소스에서 로드한 미디어의 경우 이 객체는 Loader 객체이며 로드된 미디어 객체는 이 Loader 객체의 자식이 됩니다. SWF 파일에 포함된 미디어의 경우 이 객체는 로드된 객체입니다. id가 일치하는 <img> 태그가 없으면 이 메서드는 null을 반환합니다.

참고 사항


예제

다음 예제에서는 텍스트 필드를 클릭했을 때 필드의 이미지의 불투명도는 25%로 설정되고 원래 위치에서 90도 회전합니다. 이후에 클릭할 때마다 이미지가 계속 회전합니다.

이미지(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
Player 버전 : Flash Player 9

xy 매개 변수로 지정된 점에 있는 행의 인덱스 값(0부터 시작)을 반환합니다.

매개 변수

x:Number — 행의 x 좌표입니다.
 
y:Number — 행의 y 좌표입니다.

반환값
int — 0부터 시작하는 행 인덱스 값입니다. 예를 들어 첫 번째 행은 0, 두 번째 행은 1입니다. 점이 행 위에 있지 않으면 -1이 반환됩니다.

예제

다음 예제에서는 사용자가 셰익스피어의 소네트 중에서 한 줄을 선택하면 선택된 줄이 새 텍스트 필드로 복사(추가) 됩니다.

생성자에서, poem 텍스트 필드는 줄을 바꾸지 않도록 설정되어 있습니다(시는 줄을 바꾸지 않음). autoSize 속성은 또한 자동으로 텍스트를 맞추는 데 사용되며 텍스트를 왼쪽으로 정렬할 수도 있습니다. poemCopy 텍스트 필드는 poem 텍스트 필드 아래에 위치합니다. 사용자가 시의 일부를 클릭하면 clickHandler() 메서드가 호출됩니다.

clickHandler() 메서드에서 getLineIndexAtPoint() 메서드는 마우스로 클릭한 localXlocalY 좌표를 기준으로 사용자가 클릭한 곳의 행 인덱스를 반환합니다. 원래의 시는 텍스트 필드의 크기에 맞춰 조정되었기 때문에, 범위 이탈 오류(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
Player 버전 : Flash Player 9

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
Player 버전 : Flash Player 9

특정 텍스트 행의 문자 수를 반환합니다.

매개 변수

lineIndex:int — 길이를 확인할 행 번호입니다.

반환값
int — 행의 문자 수입니다.

오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.

예제

다음 예제에서는 사용자가 행을 선택하면 행 길이(문자의 수)가 별도의 텍스트 필드에 표시됩니다.

일례로, 수를 계산할 텍스트를 표시하는 myTextField 텍스트 필드가 INPUT으로 설정되는데, 이것은 사용자가 실제로 행을 변경하거나 행 사이 또는 끝에 행을 추가할 수 있다는 것을 의미합니다. 마지막 행 끝에 줄 바꿈(\n)을 사용해 빈 행이 만들어 졌습니다. 행 길이를 계산한 결과가 표시되는 countLines 텍스트 필드는 myTextField 텍스트 필드 아래에 설정되고, 텍스트는 선택이 불가능합니다. 사용자가 myTextField 텍스트 필드의 한 행을 클릭하면 clickHandler() 메서드가 호출됩니다.

clickHandler() 메서드에서 getLineIndexAtPoint() 메서드는 마우스로 클릭한 localXlocalY 좌표를 사용해서 사용자가 클릭한 곳의 행 인덱스를 반환합니다. 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):TextLineMetrics

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

지정된 텍스트 행에 대한 메트릭 정보를 반환합니다.

매개 변수

lineIndex:int — 메트릭 정보를 확인할 행 번호입니다.

반환값
TextLineMetrics — TextLineMetrics 객체입니다.

오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.

참고 사항


예제

다음 예제는 서식이 서로 다른 두 가지 텍스트의 행 메트릭 값의 일부를 표시합니다.

추가된 텍스트는 월트 휘트먼(Walt Whitman)의 시 Song of Myself 중 두 개의 행입니다. 새로운 TextFormat 객체(newFormat)를 사용해서 두 번째 행의 서식을 설정했습니다. 첫 번째 행은 기본 서식을 유지합니다. getLineMetrics() 메서드는 특정 행에 필요한 TextLineMetrics 객체를 반환합니다. 행 인덱스는 0으로 시작합니다. 각각 1행과 2행을 위한 metrics1metrics2 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
Player 버전 : Flash Player 9

lineIndex 매개 변수로 지정된 행에 있는 첫 문자의 문자 인덱스를 반환합니다.

매개 변수

lineIndex:int — 0부터 시작하는 행 인덱스 값입니다. 예를 들어 첫 번째 행은 0, 두 번째 행은 1입니다.

반환값
int — 행에 있는 첫 문자의 인덱스 값(0부터 시작)입니다.

오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.

예제

다음 예제는 4행의 첫 문자를 확인하는데, 이 문자는 화면(및 텍스트 필드)의 크기가 조정되면 바뀌게 됩니다.

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
Player 버전 : Flash Player 9

lineIndex 매개 변수로 지정된 행의 텍스트를 반환합니다.

매개 변수

lineIndex:int — 0부터 시작하는 행 인덱스 값입니다. 예를 들어 첫 번째 행은 0, 두 번째 행은 1입니다.

반환값
String — 지정된 행에 들어 있는 텍스트 문자열입니다.

오류
RangeError — 지정된 행 번호가 범위를 벗어납니다.

예제

다음 예제에서는 셰익스피어의 소네트에 사용된 "love"라는 단어의 모든 인스턴스의 행 번호가 표시됩니다.

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
Player 버전 : Flash Player 9

지정된 문자 인덱스가 포함된 단락의 길이를 반환합니다. 이 길이의 기준은 전달된 문자 인덱스가 아니라 getFirstCharInParagraph()로 반환되는 단락의 첫 문자입니다.

매개 변수

charIndex:int — 0부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.

반환값
int — 단락의 문자 수를 반환합니다.

오류
RangeError — 지정된 문자 인덱스가 범위를 벗어납니다.

참고 사항


예제

다음 예제에서는 사용자가 단락을 선택하면 선택한 단락의 길이와 단락에 포함된 "s" 문자의 수가 별도의 텍스트 필드에 표시됩니다.

myTextField 텍스트 필드에는 사용자가 선택할 단락들이 표시됩니다. 사용자가 텍스트 필드를 클릭하면 MouseEvent.CLICK 이벤트가 전달되고 clickHandler() 메서드가 호출됩니다. 단락의 길이와 "s" 문자의 수가 countField 텍스트 필드에 표시되고, 이 텍스트 필드는 myTextField 텍스트 필드 아래에 배치됩니다.

clickHandler() 메서드에서 getCharIndexAtPoint() 메서드는 마우스로 클릭한 localXlocalY 좌표를 기준으로 문자의 인덱스를 반환합니다. 첫 번째 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):TextFormat

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

beginIndexendIndex 매개 변수로 지정된 텍스트 범위에 대한 서식 정보가 들어 있는 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) — 선택 사항이며 원하는 텍스트 범위 다음에 오는 첫 번째 문자의 위치를 지정하는 정수입니다. 설계했던대로 beginIndexendIndex의 값을 지정했다면 beginIndex에서 endIndex-1까지의 텍스트를 읽습니다.

반환값
TextFormat — 지정된 텍스트의 서식 속성을 나타내는 TextFormat 객체입니다.

오류
RangeError — 지정된 beginIndex 또는 endIndex가 범위를 벗어납니다.

참고 사항


예제
예제 사용 방법
getTextFormat() 메서드를 사용하는 방법은 getFirstCharInParagraph() 또는 setTextFormat() 메서드의 예제를 참조하십시오.
replaceSelectedText()메서드 
public function replaceSelectedText(value:String):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

현재 선택 내용을 value 매개 변수의 내용으로 바꿉니다. 텍스트는 현재 기본 문자 서식과 기본 단락 서식을 사용하여 현재 선택 위치에 삽입됩니다. 이 텍스트는 HTML로 간주되지 않습니다.

replaceSelectedText() 메서드를 사용하면 나머지 텍스트의 문자 및 단락 서식을 손상시키지 않고 텍스트를 삽입 및 삭제할 수 있습니다.

참고: 이 메서드는 텍스트 필드에 스타일 시트가 적용되면 작동하지 않습니다.

매개 변수

value:String — 현재 선택한 텍스트를 바꾸는 데 사용할 문자열입니다.


오류
Error — 이 메서드는 스타일 시트가 있는 텍스트 필드에 사용할 수 없습니다.

참고 사항


예제

다음 예제에서는 사용자가 첫 번째 텍스트 필드에서 일부 텍스트를 선택해 지우고 두 번째 텍스트 필드에서 선택한 텍스트를 "NEW TEXT"라는 문자열로 대체했습니다.

두 개의 서로 다른 TextField 객체가 생성되고 MouseEvent.MOUSE_UP 이벤트를 위한 이벤트 리스너가 추가되었습니다. 마우스 놓음은 사용자가 마우스를 놓았을 때 일어나는 이벤트로 보통 텍스트를 선택한 후에 일어납니다. 텍스트 필드의 기본 설정은 텍스트가 선택되도록 하기 위한 것입니다.

mouseHandler1() 메서드에서 사용자가 myTextField1 텍스트 필드에 있는 마우스를 놓으면 텍스트가 지워지고 빈 문자열로 대체됩니다. 모든 텍스트가 지워질 때까지 이 과정이 계속될 수 있습니다. mouseHandler2() 메서드에서 사용자가 myTextField2 텍스트 필드에 있는 텍스트의 일부를 선택하면 selectionBeginIndexselectionEndIndex 속성을 점검해 어떤 문자가 선택되었는지 확인합니다. selectionBeginIndexselectionEndIndex 속성은 텍스트가 선택되어 있을 때는 같은 값을 갖지 않습니다. 선택된 텍스트는 "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
Player 버전 : Flash Player 9

beginIndexendIndex 매개 변수로 지정된 문자 범위를 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
Player 버전 : Flash Player 9

beginIndexendIndex 매개 변수로 지정된 첫 번째 및 마지막 문자의 인덱스 값으로 지정된 텍스트를 선택된 상태로 설정합니다. 두 매개 변수 값이 서로 같은 경우 이 메서드는 caretIndex 속성을 설정한 것과 같이 삽입점을 설정합니다.

매개 변수

beginIndex:int — 선택 영역에서 첫 번째 문자의 인덱스 값(0부터 시작)입니다. 예를 들어 첫 번째 문자는 0, 두 번째 문자는 1입니다.
 
endIndex:int — 선택 영역에서 마지막 문자의 인덱스 값(0부터 시작)입니다.

참고 사항


예제

다음 예제에서는 사용자가 텍스트 필드를 클릭하면 미리 정의된 텍스트 범위가 선택됩니다("TEXT IN ALL CAPS" 단어를 강조 표시).

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:TextFormat, beginIndex:int = -1, endIndex:int = -1):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트 필드의 지정된 텍스트에 format 매개 변수로 지정된 텍스트 서식을 적용합니다. format의 값은 변경할 텍스트 서식을 지정하는 TextFormat 객체여야 합니다. format의 null이 아닌 속성만 텍스트 필드에 적용됩니다. format에서 null로 설정된 속성은 모두 적용되지 않습니다. 기본적으로 새로 만든 TextFormat 객체의 모든 속성은 null로 설정됩니다.

참고: 이 메서드는 텍스트 필드에 스타일 시트가 적용되면 작동하지 않습니다.

setTextFormat() 메서드는 문자 범위 또는 텍스트 필드의 텍스트 본문 전체에 적용된 텍스트 서식을 변경합니다. 텍스트 필드의 텍스트 전체에 서식 속성을 적용하려면 beginIndexendIndex에 값을 지정하지 않습니다. 텍스트 범위에 서식 속성을 적용하려면 beginIndexendIndex 매개 변수에 값을 지정합니다. 인덱스 값을 확인하려면 length 속성을 사용합니다.

TextFormat 객체에는 문자 수준 서식과 단락 수준 서식이라는 두 가지 서식 정보가 들어 있습니다. 텍스트 필드의 각 문자는 글꼴 이름, 글꼴 크기, 굵게, 기울임체 등의 자체 문자 서식 설정을 가질 수 있습니다.

단락의 경우 전체 단락의 단락 서식 설정을 단락의 첫 문자에서 검사합니다. 단락 서식 설정의 예로는 왼쪽 여백, 오른쪽 여백 및 들여쓰기가 있습니다.

사용자가 수동으로 삽입한 텍스트나 replaceSelectedText() 메서드를 사용하여 바꾼 텍스트에는 텍스트 삽입점에 지정된 서식이 아닌 새 텍스트에 대한 텍스트 필드의 기본 서식이 적용됩니다. 새 텍스트에 대한 텍스트 필드의 기본 서식을 설정하려면 defaultTextFormat을 사용합니다.

매개 변수

format:TextFormat — 문자 및 단락 서식 정보가 포함된 TextFormat 객체입니다.
 
beginIndex:int (default = -1) — 선택 사항이며 원하는 텍스트 범위의 첫 번째 문자를 지정하는 인덱스 위치(0에서 시작)를 지정하는 정수입니다.
 
endIndex:int (default = -1) — 선택 사항이며 원하는 텍스트 범위 다음에 오는 첫 번째 문자를 지정하는 정수입니다. 설계했던대로 beginIndexendIndex 값을 지정했다면 beginIndex에서 endIndex-1까지의 텍스트가 업데이트됩니다.

사용법설명
my_textField.setTextFormat(textFormat:TextFormat)텍스트 필드의 모든 텍스트에 textFormat의 속성을 적용합니다.
my_textField.setTextFormat(textFormat:TextFormat, beginIndex:int)textFormat의 속성을 텍스트에 beginIndex 위치부터 텍스트에 적용합니다.
my_textField.setTextFormat(textFormat:TextFormat, beginIndex:int, endIndex:int)textFormat 매개 변수의 속성을 beginIndex 위치에서 endIndex-1 위치 사이의 텍스트 범위에 적용합니다.

사용자가 수동으로 삽입한 텍스트나 replaceSelectedText() 메서드를 사용하여 바꾼 텍스트에는 텍스트 삽입점에 지정된 서식이 아닌 새 텍스트에 대한 텍스트 필드의 기본 서식이 적용됩니다. 새 텍스트에 대한 텍스트 필드의 기본 서식을 설정하려면 defaultTextFormat 속성을 사용합니다.


오류
Error — 이 메서드는 스타일 시트가 있는 텍스트 필드에 사용할 수 없습니다.
 
RangeError — 지정된 beginIndex 또는 endIndex가 범위를 벗어납니다.

참고 사항


예제

다음 예제에서는 텍스트를 클릭하면 정의된 텍스트 범위인 "TEXT IN ALL CAPS"가 기본 텍스트 서식과 새로운 서식 사이에서 서식을 전환합니다.

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 property = flash.events.Event.CHANGE

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

컨트롤의 값이 수정된 후 전달됩니다. 이 이벤트는 값을 수정하기 전에 전달되는 textInput 이벤트와 대조됩니다. 컨트롤이 포커스를 잃은 후에만 이벤트를 전달하는 W3C DOM 이벤트 모델 버전의 change 이벤트와 달리 ActionScript 3.0 버전의 change 이벤트는 컨트롤이 변경될 때마다 전달됩니다. 예를 들어 사용자가 텍스트 필드에 텍스트를 입력하면 각 키를 누를 때마다 change 이벤트가 전달됩니다.

change 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
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 property = flash.events.TextEvent.LINK

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사용자가 HTML 사용 가능 텍스트 필드에서 URL이 "event:"로 시작되는 하이퍼링크를 클릭할 때 전달됩니다. URL의 "event:" 뒷부분은 LINK 이벤트의 텍스트 속성 배치됩니다.

참고: 텍스트 필드에 텍스트를 추가하는 기본 비헤이비어는 Flash Player에서 이 이벤트가 발생할 때(여기에서는 사용자가 텍스트를 입력하려고 할 때)에만 수행됩니다. 텍스트를 textInput 이벤트에 전달하여 텍스트 필드에 텍스트를 추가할 수는 없습니다.

link 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target클릭한 하이퍼링크가 포함되어 있는 텍스트 필드입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.
textURL에서 "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 property = flash.events.Event.SCROLL

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사용자가 스크롤한 TextField 객체에 의해 전달됩니다.

scroll 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target스크롤한 TextField 객체입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.
textInput 이벤트  
이벤트 객체 유형: flash.events.TextEvent
TextEvent.type property = flash.events.TextEvent.TEXT_INPUT

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사용자가 텍스트를 한 글자 이상 입력하면 Flash Player에서 textInput 이벤트를 전달합니다. 표준 키보드, IME(Input Method Editor), 음성 인식 시스템, 서식이나 스타일 정보가 없는 일반 텍스트 붙여넣기 등의 여러 가지 텍스트 입력 방법을 통해 이 이벤트가 발생할 수 있습니다.

textInput 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelabletrue: preventDefault() 메서드를 호출하여 기본 비헤이비어를 취소합니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target문자를 입력하고 있는 텍스트 필드입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.
text사용자가 입력한 문자 또는 일련의 문자입니다.
예제 예제 사용 방법
TextFieldExample.as

다음 예제에서는 TextFieldExample 클래스를 사용하여 텍스트 메시지를 표시합니다. 이는 다음 단계로 이루어집니다.
  1. TextField 유형의 label 속성을 만듭니다.
  2. 클래스 생성자에서 configureLabel() 함수를 호출합니다.
  3. configureLabel() 메서드는 먼저 새 TextField 객체를 만들어 label 속성에 할당하고 매개 변수를 다음과 같이 설정합니다.
    • 텍스트 필드를 왼쪽으로 정렬합니다.
    • 배경 칠을 활성화합니다.
    • 테두리를 활성화합니다.
  4. configureLabel() 메서드는 format 변수를 만들어 새 TextFormat 인스턴스에 할당합니다. 이때 매개 변수를 다음과 같이 설정합니다.
    • Font type = Verdana
    • Font color = solid red
    • Font size = 10
    • Font underline = true
  5. label 텍스트 필드의 defaultTextFormat 속성을 format으로 설정하고 label 인스턴스가 표시 목록에 추가합니다. 처음에는 스테이지에 텍스트가 없는 텍스트 필드가 표시됩니다.
  6. 생성자가 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);
        }
    }
}




 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/text/TextField.html