List 구성 요소 사용

List 구성 요소는 한 항목만 선택할 수 있거나 여러 항목을 선택할 수 있는 스크롤 가능한 목록 상자입니다. 목록에는 다른 구성 요소뿐만 아니라 그래픽도 표시할 수 있습니다. labels 또는 data 매개 변수 필드를 클릭하면 나타나는 [값] 대화 상자를 사용하여 목록에 표시되는 항목을 추가합니다. 또한 List.addItem() List.addItemAt() 메서드를 사용하여 목록에 항목을 추가할 수 있습니다.

List 구성 요소는 0부터 시작하는 인덱스를 사용하며 인덱스가 0인 항목이 맨 위에 표시됩니다. List 클래스 메서드 및 속성을 사용하여 목록 항목을 추가, 제거 및 교체할 때 목록 항목의 인덱스를 지정해야 할 수도 있습니다.

List 구성 요소와 사용자의 상호 작용

사용자가 하나만 선택할 수 있거나 여러 개를 선택할 수 있도록 목록을 설정할 수 있습니다. 예를 들어, 전자 상거래 웹 사이트를 방문한 사용자가 구매할 항목을 선택할 경우, 목록에서 30개의 항목을 스크롤하여 확인한 후 한 항목을 클릭하여 선택합니다.

또한 사용자 정의 무비 클립을 행으로 사용하는 List를 디자인하여 사용자에 대한 자세한 정보를 표시할 수 있습니다. 예를 들어, 전자 메일 응용 프로그램에서 각 사서함은 List 구성 요소가 될 수 있고 각 행은 우선 순위 및 상태를 나타내는 아이콘일 수 있습니다.

목록을 클릭하거나 Tab 키를 눌러 선택하면 해당 목록으로 포커스가 이동합니다. 그러면 다음 키를 사용하여 목록을 제어할 수 있습니다.

설명

영숫자 키

레이블의 첫 문자가 Key.getAscii() 인 다음 항목으로 이동합니다.

Ctrl

인접하지 않은 여러 항목을 선택하거나 선택 취소하는 데 사용되는 전환 키입니다.

아래쪽 화살표

한 항목 아래가 선택됩니다.

목록의 맨 위가 선택됩니다.

Page Down

한 페이지 아래가 선택됩니다.

Page Up

한 페이지 위가 선택됩니다.

Shift

연속적으로 선택할 수 있습니다.

위쪽 화살표

한 항목 위가 선택됩니다.

참고: 스크롤 크기는 행 단위가 아니라 픽셀 단위입니다.
참고: Page Up 및 Page Down 키에서 사용되는 페이지 크기는 한 번에 표시되는 항목의 수보다 하나 작습니다. 예를 들어, 10행으로 된 드롭 다운 목록에서는 Page Down 키를 누를 때마다 항목이 0-9, 9-18, 18-27 등으로 페이지마다 한 항목이 겹쳐서 표시됩니다.

포커스 제어에 대한 자세한 내용은 Flash Professional용 ActionScript 3.0 참조 설명서 의 IFocusManager 인터페이스 및 FocusManager 클래스와 FocusManager를 사용한 작업 을 참조하십시오.

스테이지에 있는 각 List 인스턴스의 실시간 미리 보기에는 제작하는 동안 속성 관리자나 [구성 요소 관리자]에서 변경한 매개 변수가 반영됩니다.

응용 프로그램에 List 구성 요소를 추가할 때 다음 ActionScript 코드를 추가하여 화면 판독기에서 해당 구성 요소에 액세스할 수 있게 만들 수 있습니다.

import fl.accessibility.ListAccImpl; 
 
ListAccImpl.enableAccessibility();

구성 요소의 인스턴스 수에 관계없이 구성 요소의 액세스 가능성을 한 번만 활성화하면 됩니다. 자세한 내용은 Flash 사용 설명서 에서 18장, "액세스 가능한 내용 만들기"를 참조하십시오.

List 구성 요소 매개 변수

속성 관리자나 구성 요소 관리자에서 각 List 구성 요소 인스턴스에 대해 allowMultipleSelection , dataProvider, horizontalLineScrollSize, horizontalPageScrollSize, horizontalScrollPolicy, multipleSelection, verticalLineScrollSize, verticalPageScrollSize , verticalScrollPolicy 등의 매개 변수를 설정할 수 있습니다. 이러한 매개 변수에는 각각 같은 이름의 해당 ActionScript 속성이 있습니다. 이러한 매개 변수의 가능한 값에 대한 자세한 내용은 ActionScript 3.0 Reference for Flash Professional 에서 List 클래스를 참조하십시오. dataProvider 매개 변수 사용에 대한 자세한 내용은 dataProvider 매개 변수 사용 을 참조하십시오.

List 구성 요소를 사용하여 응용 프로그램 만들기

다음 예제에서는 응용 프로그램을 제작하는 동안 List 구성 요소를 추가하는 방법을 설명합니다.

응용 프로그램에 단순 List 구성 요소 추가

이 예제에서 List는 차량 모델을 나타내는 레이블과 가격이 들어 있는 데이터 필드로 구성됩니다.

  1. 새 Flash(ActionScript 3.0) 문서를 만듭니다.

  2. [구성 요소] 패널의 List 구성 요소를 스테이지로 드래그합니다.

  3. 속성 관리자에서 다음을 수행합니다.

    • 인스턴스 이름으로 aList 를 입력합니다.

    • W(폭) 값을 200 으로 지정합니다.

  4. [텍스트 도구]를 사용하여 aList 아래에 텍스트 필드를 만들고 인스턴스 이름을 aTf 로 지정합니다.

  5. [액션] 패널을 열고 기본 타임라인에서 프레임 1을 선택한 후 다음 ActionScript 코드를 입력합니다.

    import fl.controls.List; 
    import flash.text.TextField; 
     
    aTf.type = TextFieldType.DYNAMIC; 
    aTf.border = false; 
     
    // Create these items in the Property inspector when data and label 
    // parameters are available. 
    aList.addItem({label:"1956 Chevy (Cherry Red)", data:35000}); 
    aList.addItem({label:"1966 Mustang (Classic)", data:27000}); 
    aList.addItem({label:"1976 Volvo (Xcllnt Cond)", data:17000}); 
    aList.allowMultipleSelection = true; 
     
    aList.addEventListener(Event.CHANGE, showData); 
     
    function showData(event:Event) { 
        aTf.text = "This car is priced at: $" + event.target.selectedItem.data; 
    }

    이 코드에서는 addItem() 메서드를 사용하여 세 가지 항목으로 aList 를 채우고, 목록에 표시되는 label 값과 data 값을 각 항목에 지정합니다. List에서 항목을 선택하면 이벤트 리스너가 showData() 함수를 호출하여 선택한 항목의 data 값을 표시합니다.

  6. [컨트롤] > [무비 테스트]를 선택하여 응용 프로그램을 컴파일하고 실행합니다.

데이터 공급자로 List 인스턴스 채우기

다음 예제에서는 차량 모델과 가격으로 구성된 List를 만들고, addItem() 메서드 대신 데이터 공급자를 사용하여 List를 채웁니다.

  1. 새 Flash(ActionScript 3.0) 문서를 만듭니다.

  2. [구성 요소] 패널의 List 구성 요소를 스테이지로 드래그합니다.

  3. 속성 관리자에서 다음을 수행합니다.

    • 인스턴스 이름으로 aList 를 입력합니다.

    • W(폭) 값을 200 으로 지정합니다.

  4. [텍스트 도구]를 사용하여 aList 아래에 텍스트 필드를 만들고 인스턴스 이름을 aTf 로 지정합니다.

  5. [액션] 패널을 열고 기본 타임라인에서 프레임 1을 선택한 후 다음 ActionScript 코드를 입력합니다.

    import fl.controls.List; 
    import fl.data.DataProvider; 
    import flash.text.TextField; 
     
    aTf.type = TextFieldType.DYNAMIC; 
    aTf.border = false; 
     
    var cars:Array = [ 
    {label:"1956 Chevy (Cherry Red)", data:35000}, 
    {label:"1966 Mustang (Classic)", data:27000}, 
    {label:"1976 Volvo (Xcllnt Cond)", data:17000}, 
    ]; 
    aList.dataProvider = new DataProvider(cars); 
    aList.allowMultipleSelection = true; 
     
    aList.addEventListener(Event.CHANGE, showData); 
     
    function showData(event:Event) { 
        aTf.text = "This car is priced at: $" + event.target.selectedItem.data; 
    }
  6. [컨트롤] > [무비 테스트]를 선택하여 List와 해당 항목을 봅니다.

List 구성 요소를 사용하여 MovieClip 인스턴스 제어

다음 예제에서는 색상 이름 List를 만들어 색상 이름 중 하나를 선택할 때 MovieClip에 해당 색상이 적용되도록 합니다.

  1. Flash(ActionScript 3.0) 문서를 만듭니다.

  2. [구성 요소] 패널의 List 구성 요소를 스테이지로 드래그하고 속성 관리자에서 다음 값을 지정합니다.

    • 인스턴스 이름으로 aList 를 입력합니다.

    • H 값으로 60 을 입력합니다.

    • X 값으로 100 를 입력합니다.

    • Y 값으로 150 을 입력합니다.

  3. [액션] 패널을 열고 기본 타임라인에서 프레임 1을 선택한 후 다음 ActionScript 코드를 입력합니다.

    aList.addItem({label:"Blue", data:0x0000CC}); 
    aList.addItem({label:"Green", data:0x00CC00}); 
    aList.addItem({label:"Yellow", data:0xFFFF00}); 
    aList.addItem({label:"Orange", data:0xFF6600}); 
    aList.addItem({label:"Black", data:0x000000}); 
     
    var aBox:MovieClip = new MovieClip(); 
    addChild(aBox); 
     
    aList.addEventListener(Event.CHANGE, changeHandler); 
    function changeHandler(event:Event) { 
        drawBox(aBox, event.target.selectedItem.data); 
    }; 
     
    function drawBox(box:MovieClip,color:uint):void { 
                box.graphics.beginFill(color, 1.0); 
                box.graphics.drawRect(225, 150, 100, 100); 
                box.graphics.endFill();         
    }
  4. [컨트롤] > [무비 테스트]를 선택하여 응용 프로그램을 실행합니다.

  5. List에서 색상을 클릭하여 MovieClip에 표시되는지 확인합니다.

ActionScript를 사용하여 List 구성 요소 인스턴스 만들기

다음 예제에서는 ActionScript를 사용하여 간단한 목록을 만들고 addItem() 메서드를 사용하여 이 목록을 채웁니다.

  1. 새 Flash(ActionScript 3.0) 문서를 만듭니다.

  2. [구성 요소] 패널의 List 구성 요소를 [라이브러리] 패널로 드래그합니다.

  3. [액션] 패널을 열고 기본 타임라인에서 프레임 1을 선택한 후 다음 ActionScript 코드를 입력합니다.

    import fl.controls.List; 
     
    var aList:List = new List(); 
    aList.addItem({label:"One", data:1}); 
    aList.addItem({label:"Two", data:2}); 
    aList.addItem({label:"Three", data:3}); 
    aList.addItem({label:"Four", data:4}); 
    aList.addItem({label:"Five", data:5}); 
    aList.setSize(60, 40); 
    aList.move(200,200); 
    addChild(aList); 
    aList.addEventListener(Event.CHANGE, changeHandler); 
    function changeHandler(event:Event):void { 
        trace(event.target.selectedItem.data); 
    }
  4. [컨트롤] > [무비 테스트]를 선택하여 응용 프로그램을 실행합니다.