Flash Builder 4 -> MX と Spark コンポーネント比較
Flex 3 までは MXコンポーネント(Halo)。
Flex 4 では、Sparkコンポーネント が新たに追加された。
両方にほぼ同様の機能を備えたものが存在するものもあれば
片方にしかないものもある。
これまで説明したように、Flex 4 SDKでは、
新しいアーキテクチャーを使用する多数の新しいコンポーネントクラスが導入されています。
これらのクラスにより、スキン処理やその他のカスタマイズがはるかに簡単になります。
Flex 3 MXとFlex 4 Sparkのコンポーネント対応表を以下に示します。
Flex 3 MXコンポーネント(Halo) | Flex 4 Sparkコンポーネント |
---|---|
mx.controls.Button | spark.components.Button |
mx.controls.ButtonBar | spark.components.ButtonBar |
mx.controls.CheckBox | spark.components.CheckBox |
mx.controls.ComboBox | spark.components.DropDownList(編集不可) |
mx.controls.HorizontalList | spark.components.List(HorizontalLayout付き) |
mx.controls.HRule | spark.primitives.Line |
mx.controls.HScrollBar | spark.components.HScrollBar |
mx.controls.HSlider | spark.components.HSlider |
mx.controls.Image | spark.primitives.BitmapImage(外部イメージのサポートなし) |
mx.controls.LinkBar | spark.components.ButtonBar(カスタムスキン付き) |
mx.controls.LinkButton | spark.components.Button(カスタムスキン付き) |
mx.controls.List | spark.components.List |
mx.controls.NumericStepper | spark.components.NumericStepper |
mx.controls.RadioButton | spark.components.RadioButton |
mx.controls.RadioButtonGroup | spark.components.RadioButtonGroup |
mx.controls.TextArea | spark.components.TextArea |
mx.controls.TabBar | spark.components.TabBar |
mx.controls.TextInput | spark.components.TextInput |
mx.controls.TileList | spark.components.List(TileLayout付き) |
mx.controls.ToggleButtonBar | spark.components.ButtonBar |
mx.controls.VideoDisplay | spark.components.VideoPlayer |
mx.controls.VRule | spark.primitives.Line |
mx.controls.VScrollBar | spark.components.VScrollBar |
mx.controls.VSlider | spark.components.VSlider |
mx.core.Application | spark.components.Application |
mx.core.Window | spark.components.Window |
mx.core.WindowedApplication | spark.components.WindowedApplication |
mx.containers.ApplicationControlBar | spark.components.Application(controlBarContent付き) |
mx.containers.Canvas | spark.components.Group |
mx.containers.ControlBar | spark.components.Panel(controlBarContentプロパティ付き) |
mx.containers.HBox | spark.components.HGroup |
mx.containers.Panel | spark.components.Panel |
mx.containers.Tile | spark.components.Group(TileLayout付き) |
mx.containers.VBox | spark.components.VGroup |
MXのコンポーネントおよびコンテナとSparkコンポーネントは、積極的に併用しても問題ありません。
Adobeのコンポーネントは今後も同じベースクラス(UIComponent)上に構築されていくので、
SparkとMXの間には完全な相互運用性が確保される見込みです。
現時点で、Sparkに直接対応するクラスがないコンポーネントとコンテナの表を以下に示します。
Flex 4には直接対応するコンポーネントが存在しないFlex 3クラス | 備考 |
---|---|
mx.controls.Alert | |
mx.controls.ColorPicker | |
mx.controls.DataGrid | |
mx.controls.DateChooser | |
mx.controls.DateField | |
mx.controls.Menu | |
mx.controls.MenuBar | |
mx.controls.PopUpButton | |
mx.controls.PopUpMenuButton | |
mx.controls.ProgressBar | |
mx.controls.RichTextEditor | |
mx.controls.Tree | |
mx.containers.Accordion | |
mx.containers.DividedBox | |
mx.containers.Form | |
mx.containers.Grid | |
mx.containers.TabNavigator | |
mx.containers.TitleWindow | |
mx.containers.ViewStack |
<参考元>
Adobe Flex デベロッパーセンター:Flex 3とFlex 4との違い
アイテムレンダラーまたはアイテムエディターでコンポーネントを使用するときに、コンポーネントに値を渡すことができます。
Adobe® Flex® 4 リファレンスガイド:D 索引
Label, TextInput, Button, Image などの汎用コンポーネントに備わっているプロパティ。
具体的な利用例:Flash Builder 4 -> addEventListener
隠しデータを格納するのにとっても便利なんだけど
MXコンポーネントにはあるのに、Sparkコンポーネントにはない・・・。 😐
綺麗サッパリなくなっているので、代替プロパティが存在する予感があるんだけど見つからない・・・。
FlashBuilder4で、グリッドにチェックボックスを追加しようと
アイテムレンダラーを作成した時にできるs:MXDataGridItemRendererで
dataが使えましたよ。
たぶんなんですけど、datagridのdataProviderの値がアイテムレンダラーのdata
プロパティにセットされているみたいです。
情報コメントの書き込みをありがとうございます。
なるほど、datagrid だと data プロパティが使えるんですね。
私が試したのは Label コンポーネントだったので、これには data プロパティがありませんでした。
ものによるんですね。