Flash Builder 4 -> MX と Spark コンポーネント比較

Posted by muchag | Flash Builder 4 |
初回投稿:2010-07-14 (水) 17:15:26 | 最終更新:2010-07-25 (日) 2:24:58

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との違い
 

その他
data プロパティ

アイテムレンダラーまたはアイテムエディターでコンポーネントを使用するときに、コンポーネントに値を渡すことができます。

Adobe® Flex® 4 リファレンスガイド:D 索引

Label, TextInput, Button, Image などの汎用コンポーネントに備わっているプロパティ。

具体的な利用例:Flash Builder 4 -> addEventListener

隠しデータを格納するのにとっても便利なんだけど
MXコンポーネントにはあるのに、Sparkコンポーネントにはない・・・。 😐

綺麗サッパリなくなっているので、代替プロパティが存在する予感があるんだけど見つからない・・・。

Posted by muchag | Flash Builder 4 |
初回投稿:2010-07-14 (水) 17:15:26 | 最終更新:2010-07-25 (日) 2:24:58

2 Comments »

  1. Comment by ヨナ — 2010/12/3 金曜日 @ 19:17:57

    FlashBuilder4で、グリッドにチェックボックスを追加しようと
    アイテムレンダラーを作成した時にできるs:MXDataGridItemRendererで
    dataが使えましたよ。
    たぶんなんですけど、datagridのdataProviderの値がアイテムレンダラーのdata
    プロパティにセットされているみたいです。

  2. Comment by muchag — 2011/1/14 金曜日 @ 16:46:39

    情報コメントの書き込みをありがとうございます。

    なるほど、datagrid だと data プロパティが使えるんですね。

    私が試したのは Label コンポーネントだったので、これには data プロパティがありませんでした。

    ものによるんですね。

RSS feed for comments on this post. TrackBack URI

Leave a comment