In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

入力タイプのテキストフィールド

ただの入力タイプのテキストフィールドです。
Mac の Chromeで日本語入力できないっぽいのでテストします。
Get Adobe Flash player
by quqjp 15 Nov 2010
    Embed
/**
 * Copyright quqjp ( http://wonderfl.net/user/quqjp )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/dmW2
 */

package {

    import flash.events.*;
    import flash.text.*;
    import flash.display.Sprite;
    import flash.system.Capabilities;
    import flash.system.IME;
    import flash.system.IMEConversionMode;
    

    /**
     * 入力タイプのTextFieldと、focusがあたったらIMEをONにするTextField。
     */
    public class FlashTest extends Sprite {
        
        
        //debug
        protected var oLogView:LogView;
        
        /**
         * コンストラクタ
         */
        public function FlashTest() {
            
            //ラベル1
            var label:TextField = createTf(false,false);
            label.text = "普通の入力タイプのTextField";
            label.y = 10;
            this.addChild(label);
            
            //入力フィールド
            var tf:TextField = createTf(true);
            tf.y = 40;
            this.addChild(tf);
            
            //ラベル2
            label = createTf(false,false);
            label.text = "入力タイプのTextField(focusあたったらIME日本語ONにします)";
            label.y = 100;
            this.addChild(label);
            
            //入力フィールド
            tf = createTf(true);
            tf.y = 120;
            this.addChild(tf);
            tf.addEventListener(FocusEvent.FOCUS_IN,onFocusTf);
            
            
            //ログ出力パネルを準備
            oLogView = new LogView();
            oLogView.y = 200;
            this.addChild(oLogView);
            
            oLogView.appendLog("client info ---------");
            oLogView.appendLog(Capabilities.os);
            oLogView.appendLog(Capabilities.version);
            oLogView.appendLog("---------------------");
            
            
        }
        
        /**
         * テキストフィールドのフォーカスイベントのハンドリング
         */
        protected function onFocusTf(e:FocusEvent):void{
            
            oLogView.appendLog("called:onFocusTf");
            
            if (Capabilities.hasIME)
            {
                try
                {
                    IME.enabled = true;
                    IME.conversionMode = IMEConversionMode.JAPANESE_HIRAGANA ;
                    oLogView.appendLog("set:IMEConversionMode.JAPANESE_HIRAGANA");    
                }
                catch (error:Error)
                {
                    oLogView.appendLog("ERROR:IME ERROR " + error);    
                }
            }else{
                oLogView.appendLog("WARN:IME is not found.");    
            }
        }
        
        
        
        /**
         * TextFieldをつくります
         */
        protected function createTf(typeinput:Boolean = false, border:Boolean = true):TextField{
                
        var tft:TextFormat = new TextFormat();
            tft.size = 16;
        var tf:TextField = new TextField();
        tf.defaultTextFormat = tft;
            if(typeinput) tf.type = TextFieldType.INPUT;
        tf.multiline = true;
        tf.text = "input field.";
        tf.autoSize = TextFieldAutoSize.LEFT;
        tf.border = border;
            return tf;
                    
        }
    }
}


    /**
     * import
     */
        import flash.display.MovieClip;
    import com.bit101.components.*;    
                
    /**
     * コンソールビュー
     * @author kenichi iida (kenichi.iida@quq.jp)
     */
    class LogView extends MovieClip
    {
                
        //
        protected var oTextArea:TextArea;
                
        //ロギング文字
        protected var textstr:String = "";
                
        /**
         * コンストラクタ
         */
        public function LogView() {
            var oWindow:Window = new Window(this, 0, 0, "Console");
            oWindow.draggable = true;
            oWindow.hasMinimizeButton = true;
            oTextArea = new TextArea(oWindow.content, 0, 0, "");
            oTextArea.width = 200;
            oTextArea.height = 200;
            oWindow.width = 200;
            oWindow.height = 210;
        }
        
        /**
         * ログ値設定
         */
        public function log(str:String):void{
            oTextArea.text = str;
        }
        
        /**
         * ログ値追加
         */
        public function appendLog(str:String):void{
                
            this.textstr += str +"\n";
            this.log(this.textstr);
            
        }
        
        /**
         * クリアする
         */
        public function clear():void{
            this.log("");
            this.textstr = "";
        }
        
        /**
         * 初期化
         */
        public function initialize():void{
        }
                
        }