The ColorPicker component allows a user to select a color from a swatch list. The default mode of the ColorPicker shows a single color in a square button. When a user clicks the button, the list of available colors appears in a swatch panel along with a text field that displays the hexadecimal value of the current color selection.
You can set the colors that appear in the ColoPicker by setting its colors
property with the color values that you want to display.
A ColorPicker allows a user to select a color and apply it to another object in the application. For example, if you want to allow the user to personalize elements of the application, such as a background color or the color of text, you can include a ColorPicker and apply the color that the user selects.
A user chooses a color by clicking its swatch in the panel or by entering its
hexadecimal value in the text field. Once the user selects a color, you can use
the ColorPicker's selectedColor
property to apply the color to text or another
object in the application.
A ColorPicker instance receives focus if a user moves the pointer over it or tabs to it. When a ColorPicker's swatch panel is open, you can use the following keys to control it:
Key | Description |
---|---|
Home | Moves the selection to the first color in the swatch panel. |
Up Arrow | Moves the selection up one row in the swatch panel. |
Down Arrow | Moves the selection down one row in the swatch panel. |
Right Arrow | Moves the selection in the swatch panel one color to the right. |
Left Arrow | Moves the selection in the swatch panel one color to the left. |
End | Moves the selection to the last color in the swatch panel. |
You can set the following authoring parameters in the Property inspector or in
the Component inspector for each ColorPicker instance: selectedColor
and
showTextField
. Each of these parameters has a corresponding ActionScript
property of the same name. For information on the possible values for these
parameters, see the ColorPicker class in the
ActionScript 3.0 Reference for the Adobe Flash Platform.
The following example adds a ColorPicker component to an application while
authoring. In this example, each time you change the color in the ColorPicker,
the changeHandler()
function calls the drawBox()
function to draw a new box
with the color you selected in the ColorPicker.
-
Create a new Flash (ActionScript 3.0) document.
-
Drag a ColorPicker from the Components panel to the center of the Stage and give it an instance name of aCp.
-
Open the Actions panel, select Frame 1 in the main Timeline, and enter the following ActionScript code:
import fl.events.ColorPickerEvent; var aBox:MovieClip = new MovieClip(); drawBox(aBox, 0xFF0000); //draw a red box addChild(aBox); aCp.addEventListener(ColorPickerEvent.CHANGE,changeHandler); function changeHandler(event:ColorPickerEvent):void { drawBox(aBox, event.target.selectedColor); } function drawBox(box:MovieClip,color:uint):void { box.graphics.beginFill(color, 1); box.graphics.drawRect(100, 150, 100, 100); box.graphics.endFill(); }
-
Select Control > Test Movie.
-
Click the ColorPicker and select a color to color the box.
This example uses the ColorPicker()
constructor and addChild()
to create a
ColorPicker on the Stage. It sets the colors
property to the color values for
red (0xFF0000), green (0x00FF00), and blue (0x0000FF) to specify the colors that
the ColorPicker will display. It also creates a TextArea and each time you
select a different color in the ColorPicker, the example changes the color of
the text in the TextArea to match.
-
Create a new Flash (ActionScript 3.0) document.
-
Drag the ColorPicker component from the Components panel to the Library panel.
-
Drag the TextArea component from the Components panel to the Library panel.
-
Open the Actions panel, select Frame 1 in the main Timeline, and enter the following ActionScript code:
import fl.controls.ColorPicker; import fl.controls.TextArea; import fl.events.ColorPickerEvent; var aCp:ColorPicker = new ColorPicker(); var aTa:TextArea = new TextArea(); var aTf:TextFormat = new TextFormat(); aCp.move(100, 100); aCp.colors = [0xff0000, 0x00ff00, 0x0000ff]; aCp.addEventListener(ColorPickerEvent.CHANGE, changeHandler); aTa.text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quis nisl vel tortor nonummy vulputate. Quisque sit amet eros sed purus euismod tempor. Morbi tempor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Curabitur diam. Suspendisse at purus in ipsum volutpat viverra. Nulla pellentesque libero id libero."; aTa.setSize(200, 200); aTa.move(200,100); addChild(aCp); addChild(aTa); function changeHandler(event:ColorPickerEvent):void { if(TextFormat(aTa.getStyle("textFormat"))){ aTf = TextFormat(aTa.getStyle("textFormat")); } aTf.color = event.target.selectedColor; aTa.setStyle("textFormat", aTf); }
-
Select Control > Test Movie.