ホーム >> 左脳Script >> Adobe Flash >> Action Script >> Action Script 3 で 自作RadioButton

Action Script 3 で 自作RadioButton


ラジオボタン。グループ指定で、選択肢を1つ選ぶ事ができます。
内部構造としては、基礎となるSpriteに「内容説明テキストのTextField」と「チェックボタン形状Shape」を乗せているだけです。
以下用法仕様。

仕様

コンポーネント使用に当っての仕様。RadioButton自体は、Spriteを継承して作られています。
RadioButton 仕様
コンストラクタ
ラベル:Stringラベル文字列。
グループ名:Stringチェックを管理するグループ名。同じグループ名(文字列)で一つのチェックをする。
チェック状態:Boolean初期化時のチェック状態。デフォルトはfalse(チェック無し)。
幅:Numbeコンポーネント幅。デフォルトは100。
高さ:Numberコンポーネント高さ。デフォルトは20。
プロパティ
html:StringラベルのHTML文字列。
text:Stringラベルの表示文字列。読み取りのみ。
check:Booleanチェック状態。
enable:Boolean有効/無効指定。無効にすると表示はグレーアウトされ、イベントが抑制される。
width:Numberコンポーネント幅。
height:Numberコンポーネント高さ。
イベント
Event.CHANGEチェック変化時にイベント。


デモサンプル

"This is RadioButton Sample Flash."
上部の Enable チェックで、下部のラジオボタンのグループの有効/無効を制御できます。
残念ながら、グループ一括での有効/無効指定ではありません。(後述デモソースを参考の事)

ラジオボタンを new する際にグループ名を指定するだけで、グループチェック機能の実現ができます。

また、イベントはグループ単位ではなく、ラジオボタンコンポーネント単体が単位です。コンポーネントから直接イベントを受ける事になります。


以下、デモ用コード。

//  radiobuttonデモ
private var cb:CheckBox;
//
private var rd1a:RadioButton;
private var rd2a:RadioButton;
private var rd3a:RadioButton;
private var rd1b:RadioButton;
private var rd2b:RadioButton;
//
private var tfa:TextField;
private var tfb:TextField;
//
private function demo():void 
{
    cb  =   new CheckBox( < font size = "12" > Enable</font>.toXMLString(),true);
    addChild(cb);
    cb.addEventListener(Event.CHANGE, radioButton_enable);
    //
    tfa =   new TextField();
    tfa.x   =   0;
    tfa.y   =   100;
    tfa.width   =   100;
    tfa.height  =   20;
    addChild(tfa);
    tfb =   new TextField();
    tfb.x   =   100;
    tfb.y   =   100;
    tfb.width   =   100;
    tfb.height  =   20;
    addChild(tfb);
    //
    rd1a    =   new RadioButton("ラーヌン", "GroupA", true);
    rd1a.y  =   20;
    addChild(rd1a);
    rd1a.addEventListener(Event.CHANGE, groupA);
    rd2a    =   new RadioButton("ヤキンバ", "GroupA", true);
    rd2a.y  =   40;
    addChild(rd2a);
    rd2a.addEventListener(Event.CHANGE, groupA);
    rd3a    =   new RadioButton("ウドソ", "GroupA", true);
    rd3a.y  =   60;
    addChild(rd3a);
    rd3a.addEventListener(Event.CHANGE, groupA);
    //
    rd1b    =   new RadioButton("あると思います。", "GroupB", true);
    rd1b.x  =   100;
    rd1b.y  =   20;
    addChild(rd1b);
    rd1b.addEventListener(Event.CHANGE, groupB);
    rd2b    =   new RadioButton("あ  り  え  な  い", "GroupB", true);
    rd2b.x  =   100;
    rd2b.y  =   40;
    addChild(rd2b);
    rd2b.addEventListener(Event.CHANGE, groupB);
}
private function radioButton_enable(e:Event):void 
{   //  コントロールの有効/無効
    rd1a.enable =   cb.check;
    rd2a.enable =   cb.check;
    rd3a.enable =   cb.check;
}
private function groupA(e:Event):void 
{   //  グループAのイベント共通
    var t:RadioButton   =   e.target as RadioButton;
    if (    t != null   )   tfa.text    =   t.text;
}
private function groupB(e:Event):void 
{   //  グループBのイベント共通
    var t:RadioButton   =   e.target as RadioButton;
    if (    t != null   )   tfb.text    =   t.text;
}


ソース

デモを含めたコンポーネントパッケージのソースはこちらで公開しています。
>> Action Script 3 の U/Iコンポーネント



トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/132

コメントする

ホーム >> 左脳Script >> Adobe Flash >> Action Script >> Action Script 3 で 自作RadioButton

アーカイブ

このブログ記事について

このページは、n-yagiが2009年6月 1日 18:43に書いたブログ記事です。

ひとつ前のブログ記事は「Action Script 3 で 自作CheckBox」です。

次のブログ記事は「Action Script 3 で 自作Button」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。