创建具有 CheckBox 组件的应用程序

以下过程解释了如何在创作时将 CheckBox 组件添加到应用程序。下面的范例是一个用于联机约会应用程序的表单,该表单是一个查询,它搜索与客户相匹配的可能约会。该查询表单必须有一个标签为"Restrict Age"的复选框,以允许客户将其搜索限定在一个指定的年龄组。选中"Restrict Age"复选框后,客户就可以在两个文本字段中输入最小年龄和最大年龄。(这两个文本字段仅在该复选框被选中时才启用。)

创建具有 CheckBox 组件的应用程序:

  1. 将两个 TextInput 组件从"组件"面板拖到舞台上。
  2. 在"属性"检查器中,输入实例名称 minimumAgemaximumAge
  3. 将 CheckBox 组件从"组件"面板拖到舞台上。
  4. 在"属性"检查器中,执行以下操作:
    • 输入 restrictAge 作为实例名称。
    • 输入 Restrict Age(限制年龄)作为标签参数。
  5. 在时间轴中选择第一帧,打开"动作"面板,然后输入以下代码:
    var restrictAgeListener:Object = new Object();
    restrictAgeListener.click = function (evt:Object) {
        minimumAge.enabled = evt.target.selected;
        maximumAge.enabled = evt.target.selected;
    };
    restrictAge.addEventListener("click", restrictAgeListener);
    

    这段代码创建一个 click 事件处理函数,该处理函数可启用和禁用已放到舞台上的 minimumAgemaximumAge 文本字段组件。有关更多信息,请参见 CheckBox.clickTextInput 组件

使用 ActionScript 创建复选框:

  1. 将 CheckBox 组件从"组件"面板拖到当前文档的库中。

    此操作将组件添加到库中,但不会在应用程序中显示。

  2. 将 TextInput 组件从"组件"面板拖到当前文档的库中。
  3. 在主时间轴的第一帧中,向"动作"面板添加以下 ActionScript 代码以创建组件实例并定位这些组件实例:
    this.createClassObject(mx.controls.CheckBox, "testAge_ch", 1, {label:'Age Range', selected:true});
    this.createClassObject(mx.controls.TextInput, "minimumAge_ti", 2, {restrict:[0-9], text:18, maxChars:2});
    minimumAge_ti.move(20, 30);
    this.createClassObject(mx.controls.TextInput, "maximumAge_ti", 3, {restrict:[0-9], text:55, maxChars:2});
    maximumAge_ti.move(20, 60);
    

    此脚本使用UIObject.createClassObject()方法创建名为 restrictAge 的 CheckBox 实例,并指定一个标签属性。然后,代码使用UIObject.move()方法来定位按钮。

  4. 现在,添加以下 ActionScript 来创建一个事件侦听器和一个事件处理函数:
    // 创建 CheckBox 事件的处理函数。
    function checkboxHandler(evt_obj:Object) {
     minimumAge_ti.enabled = evt_obj.target.selected;
     maximumAge_ti.enabled = evt_obj.target.selected;
    }
    // 添加侦听器。
    testAge_ch.addEventListener("click", checkboxHandler);
    

    这段代码创建一个 click 事件处理函数,它可启用和禁用 minimumAgemaximumAge 文本字段组件。有关更多信息,请参见 CheckBox.clickEventDispatcher.addEventListener()TextInput 组件