Flex2のcomponentをActionScript Projectで使う
Flex2のcomponent(ボタンとかスライダーとか)をActionScript Projectで使う方法について某所で質問を受けてちょっと調べたのですが、
結論から言うと、できないことはないようですが、ちょいと面倒なので、素直にMXMLFlex Projectを使ったほうがいいかも、という感じです。
ImageコンポーネントをActionScript Projectで使うサンプルコードが以下にポストされてます。
http://www.onflex.org/code/2006/07/as3-using-flex-component-in.html
上記サンプルでもそうですが、コンパイルを通すために、Library pathに以下の2つを
追加する必要があるようです。
(2つともFlex Projectではデフォルトで設定されているものです。)
1. ${FRAMEWORKS}/libs/framework.swc (「Add SWC...」で追加)
2. ${FRAMEWORKS}/locale/{locale} (「Add SWC Folder...」で追加)
Library pathを追加するのもアレですが、さらに面倒なのがスタイルの設定です。
どうもこのパターンでコンパイルすると(MXMLをコンパイルする場合と違い)スタイルのデフォルト設定値がない状態になるようで、コンポーネントの初期化時に、スタイルの設定へのアクセスが発生したとき
ランタイムエラーになってしまうようです。
エラーになるスタイルに関して、それぞれsetStyle()等を使って明示的にスタイル設定をすれば、
このランタイムエラーは回避できるようです。
実際上記サンプルでも
this.setStyle("borderSkin",mx.skins.halo.HaloBorder);
とか
img.setStyle("verticalAlign","top");
とかやってますが、
これらをコメントアウトするとランタイムエラーになります。
ただ、いろんなコンポーネントを使うことを考えたら、
この設定をしらみつぶし的にやるにしても、網羅的にやるにしてもかなり面倒になりそうですね。
カテゴリ
Flexトラックバック(0)
このブログ記事を参照しているブログ一覧: Flex2のcomponentをActionScript Projectで使う
このブログ記事に対するトラックバックURL: http://uenon.jp/mt/mt-tb.cgi/85

某所で質問したものです。
ありがとうです、やってみます。
ActionScript Projectで使う場合というのは
ちょっとだけコンポーネント使いたいって時なので
スタイル的にはあまり強くは望まないです。
自分でスライダー作るのと、どっちが面倒かってトコですね。
まあ、探せばActionScript Project用のスライダーもあるかね。
説明が不十分でした。
ActionScript Projectで使う場合の
スタイルの設定は、スタイルにこだわるかどうかの前に、
ランタイムエラーを回避するために必要になるようです。
つまり、最低限のスタイルの設定をしないと
正常に動作しないと思われます。
ああ、それはわかってた。大丈夫。
最低限のスタイル設定は一回書いてしまえばコピペすればいいので。
んー、でもHSlider置いてみたんだけど、何をスタイル設定していいか分からなかったw
素直にmxml使えって?
何作るにもFlexApplicationがベースになってて大丈夫かね?