MXML logic choose

介绍了一个自定义的Flash逻辑显示控件,该控件能够根据布尔表达式的值动态地显示或隐藏内容。提供了两种不显示内容的方式:隐藏或不创建,并展示了如何在Flex应用中使用这些逻辑控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Logic.as
  1. package com.jackoo {
  2.     import flash.display.DisplayObject;
  3.     import mx.containers.Canvas;
  4.    
  5.    
  6.     /**
  7.      *    逻辑判断标签,当test的表达式返回为true时,显示标签内的内容
  8.      * */
  9.     
  10.     public class Logic extends Canvas {
  11.         public static const  HIDE : String="hide"//隐藏标签内容
  12.         public static const  UNCREATE : String="uncreate";//不创建标签内容
  13.        
  14.        
  15.         private  var _test:Boolean=false//条件
  16.         public var type:String=UNCREATE; //不显示时的类型,是隐藏还是不创建,默认是不创建
  17.         public var IfContent:DisplayObject;
  18.         public var ElseContent:DisplayObject;
  19.        
  20.         public function Logic(){
  21.             super();
  22.            
  23.         }
  24.        
  25.         protected override function commitProperties():void{
  26.             super.commitProperties();
  27.             removeAllChildren();
  28.             if (type==UNCREATE){
  29.                 if (test){
  30.                     if (IfContent != null && !contains(IfContent)){
  31.                         addChild(IfContent);
  32.                     }
  33.                 }else{
  34.                     if (ElseContent != null && !contains(ElseContent)){
  35.                         addChild(ElseContent);
  36.                     }
  37.                 }
  38.             }else if(type==HIDE){
  39.                 if (IfContent != null && !contains(IfContent)){
  40.                     if(test){
  41.                         IfContent.visible=true;
  42.                         addChild(IfContent);
  43.                         return;
  44.                     }else{
  45.                         IfContent.visible=false;
  46.                         addChild(IfContent);
  47.                     }
  48.                 }
  49.                 if (ElseContent != null && !contains(ElseContent)){
  50.                     if (test){
  51.                         ElseContent.visible=false;
  52.                     }else{
  53.                         ElseContent.visible=true;
  54.                     }
  55.                     addChild(ElseContent);
  56.                 }
  57.             }
  58.         }
  59.        
  60.         public function set test(value:Boolean):void{
  61.             this._test=value;
  62.             invalidateProperties();
  63.         }
  64.        
  65.         public function get test():Boolean{
  66.             return this._test;
  67.         }
  68.     }
  69. }
logic.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:logic="com.jackoo.*" fontSize="12" >
  3.    
  4.     <mx:Script>
  5.         <![CDATA[
  6.             [Bindable]
  7.             private var value:Boolean=false;
  8.         ]]>
  9.     </mx:Script>
  10.     <mx:HRule/>
  11.    
  12.     <mx:Label text="隐藏对象,看不到对象时也是占位的"/>
  13.    
  14.     <logic:Logic test="{value}" type="hide" >
  15.         <logic:IfContent>
  16.             <mx:Button label="if == true"/>
  17.         </logic:IfContent>
  18.     </logic:Logic>
  19.    
  20.     <mx:HRule />
  21.    
  22.     <mx:Label text="不创建对象,这样看不到时是不占位的,当然,你可以设置logic的width和height让它也占位"/>
  23.    
  24.     <logic:Logic test="{value}" type="uncreate" >
  25.         <logic:IfContent>
  26.             <mx:Button label="if == true"/>
  27.         </logic:IfContent>
  28.     </logic:Logic>
  29.    
  30.     <mx:HRule/>
  31.    
  32.     <mx:Label text="隐藏对象,带有else"/>
  33.    
  34.     <logic:Logic test="{value}" type="hide">
  35.         <logic:IfContent>
  36.             <mx:Button label="if == true"/>
  37.         </logic:IfContent>
  38.         <logic:ElseContent>
  39.             <mx:Canvas borderStyle="solid">
  40.                 <mx:Button label="多个组件"/>
  41.                 <mx:Label x="90" text="你没权限看"/>
  42.             </mx:Canvas>
  43.         </logic:ElseContent>
  44.     </logic:Logic>
  45.    
  46.     <mx:HRule/>
  47.    
  48.     <mx:Label text="不创建对象,带有else"/>
  49.    
  50.     <logic:Logic test="{value}" type="uncreate" >
  51.         <logic:IfContent>
  52.             <mx:Button label="if == true"/>
  53.         </logic:IfContent>
  54.         <logic:ElseContent>
  55.             <mx:Label text="你没权限看"/>
  56.         </logic:ElseContent>
  57.     </logic:Logic>
  58.    
  59.     <mx:HRule/>
  60.     <mx:Button click="{value=value?false:true}" label="显示/不显示"/>
  61. </mx:Application>

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值