需要的例子在Flex应用程序中使用自定义组件 [英] Need the example to use custom component in FLEX application

查看:123
本文介绍了需要的例子在Flex应用程序中使用自定义组件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何创建一个CustomComponent以及如何使用,在Flex应用程序。 给我只是一个简单的例子,我有知识的点点有,所以我可以理解,如果你刚刚给我code。我使用Flex 3.0

I want to know that how to create a CustomComponent and how to use that in FLEX Application. Give me just a simple example, i have little bit of knowledge is there so i can understand if u just give me the code. I am using FLEX 3.0

在此先感谢。

推荐答案

很高兴再次见到你。

格式化Stepper.as

Formatted Stepper.as

package component
{
import flash.events.Event;
import flash.events.FocusEvent;
import flash.events.MouseEvent;

import mx.controls.NumericStepper;
import mx.core.mx_internal;
import mx.events.FlexEvent;
import mx.formatters.Formatter;
use namespace mx_internal;

public class FormattedStepper extends NumericStepper {
    // formatter
    private var _formatter:Formatter;

    public function FormattedStepper() {
        super();
    }

    override protected function createChildren():void {
        super.createChildren();

        // un-restrict text input and set initial format
        mx_internal::inputField.restrict = null;
        doFormat();

        // event listeners
        addEventListener(FlexEvent.VALUE_COMMIT, doFormat);
        addEventListener(FocusEvent.FOCUS_OUT, doFormat);
        addEventListener(MouseEvent.CLICK, doFormat);
        addEventListener(FlexEvent.DATA_CHANGE, doFormat);
        addEventListener(MouseEvent.MOUSE_DOWN, doFormat);
        mx_internal::nextButton.addEventListener(MouseEvent.CLICK, doFormat);
        mx_internal::nextButton.addEventListener(MouseEvent.MOUSE_DOWN, doFormat);
        mx_internal::prevButton.addEventListener(MouseEvent.CLICK, doFormat);
        mx_internal::prevButton.addEventListener(MouseEvent.MOUSE_DOWN, doFormat);
        mx_internal::inputField.addEventListener(MouseEvent.CLICK, unFormat);
    }       

    private function doFormat(event:Event = null):void 
    {
        if ((_formatter != null) && (mx_internal::inputField != null) && (mx_internal::inputField.text != null)) 
        {
             mx_internal::inputField.text = _formatter.format(value);
        } 
    }

    private function unFormat(event:Event = null):void
     {
        if ((_formatter != null) && (mx_internal::inputField != null) && (mx_internal::inputField.text != null))
        {
             mx_internal::inputField.text = String(value);
        }            
    }

    public function set formatter(formatter:Formatter):void {
        _formatter = formatter;
        doFormat();
    }
}
}

Test.mxml

Test.mxml

<mx:NumberFormatter id="numberFormatter" precision="2" useNegativeSign="true" rounding="none"/>

<mx:FormItem id="formitemLowerTolerance" label="Lower Tolerance:" labelStyleName="labelFormStyle" direction="horizontal">
            <component:FormattedStepper id="numstepLowerTolerance" width="150" formatter="{numberFormatter}"/>
            <mx:Label id="lblLower" text="%"/>
        </mx:FormItem>

这篇关于需要的例子在Flex应用程序中使用自定义组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆