`
tianqinghua
  • 浏览: 27373 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类

FLEX自定义组件做的计算器界面

阅读更多
package components
{
	import mx.containers.VBox;
	import mx.containers.Tile;
	import mx.controls.TextInput;
	import mx.controls.Button;
	import mx.events.FlexEvent;
	import flash.events.Event;
	import flash.events.MouseEvent;
	public class NumericDisplay extends VBox
	{
		//定义组件的输入框
		private var display:TextInput;
		//定义组件的显示的问题标题
		private var buttonsTitle:Tile;
		//添加元标签给IDE看的
		[Inspectable(defaultValue=10)]
		private var _numButtons:uint = 10;
		
		public function NumericDisplay()
		{
			super();
			//注册初始化事件,该事件是FLEX自身定义的
			addEventListener(FlexEvent.INITIALIZE, initializeHandler);
		}
		//给按钮属性绑定事件,意思是只要触发numButtonsChange事件numButtons数值就会动态的刷新
		[Bindable(event="numButtonsChange")]
		public function get numButtons():uint{
			return _numButtons;
		}
		//设置_numButtons属性的值
	    public function set numButtons(value:uint):void{
	    	_numButtons = value;
	    	//在设置该属性的过程中,把numButtonsChange事件加入到事件流中去。
	    	dispatchEvent(new Event("numButtonsChange"));
	    }
	    //由造函数调用
	    private function initializeHandler(event:FlexEvent):void{
	    	paint();
	    }
	    //当点击鼠标左键时相应的时间
	    private function buttonClickHandler(event:MouseEvent):void{
	    	//在输入框中显示当前时间流中拿到目标对象,并获取他相关的属性值。
	    	display.text += (event.target as Button).label;
	    }
	    //画界面
	    private function paint():void{
	    	//实例化TextInput输入框组件
	    	display = new TextInput();
	    	//设置其宽度
	    	display.width=185;
	    	//并且加入到父组件中去
	    	addChild(display);
	    	//实例化Tile组件
	    	buttonsTitle = new Tile();
	    	//把改组件添加到父组件中去
	    	addChild (buttonsTitle);
	    	//循环创建BUTTON按钮
	    	for (var i:uint = 0; i < _numButtons; i++){
	    		//实例化按钮
	    		var currentButton:Button = new Button();
	    		//设置其LABEL值
	    		currentButton.label=i.toString();
	    		//为当前BUTTON对象注册click事件
	    		currentButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
	    		//把创建好的BUTTON放入TILE容器中去
	    		buttonsTitle.addChild (currentButton);
	    	}
	    }
	}
}

 

  • 大小: 196.8 KB
  • 大小: 85.2 KB
分享到:
评论

相关推荐

    Flex 计算器

    Flex计算器是一个基于Adobe Flex技术构建的应用程序,它利用MXML和ActionScript这两种强大的编程语言来实现用户界面和交互逻辑。Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),它可以为Web应用提供丰富...

    FLEX 做的计算器 25个功能按键 BUG 非常少且有7个版本

    由于使用了面向对象的ActionScript,开发者能够轻松地创建复杂的逻辑和自定义组件。此外,MXML使得界面设计变得直观,通过声明式语法来布局UI元素,使得非程序员也能快速理解并进行界面设计。因此,这个计算器可能...

    Flex计算器

    - 如何定义和使用自定义组件。 - 如何处理用户输入并触发计算。 - 如何解析和执行数学表达式。 - 错误处理和异常处理的实现。 通过深入研究这个Flex计算器项目,开发者不仅可以提升在Flex 3上的技能,还能进一步...

    flex计算器 fabrication

    而“这个还算完善一点的”意味着Flex计算器在这些方面做得相对较好,尽管存在一些小的错误或“小bug”,但整体体验还是令人满意的。 Flex技术的核心组件包括Flex SDK(软件开发工具包),它包含了一套完整的开发...

    Flex计算机

    6. **样式和皮肤**:Flex允许自定义组件的外观和感觉,计算器可以通过修改皮肤来改变按钮样式、背景颜色等,以提高用户体验。 7. **响应式设计**:如果Flex计算器设计为网页应用,可能还需要考虑响应式设计,确保在...

    微信小程序开发源码-(苹果计算器)

    1. 自定义组件:微信小程序支持自定义组件,可以复用代码,提高开发效率。例如,计算器可能有一个自定义的数字按钮组件。 2. 事件绑定:通过`bindtap`等事件,可以监听用户的点击操作,更新计算结果显示。 3. 数据...

    科学计算器.zip_Matlab GUI工程_improveace_matlabgui_科学计算 GUI_计算器 GUI

    在MATLAB GUI中,这可能通过布局管理器(如Grid,Box,或者Flex布局)来实现组件的排列和对齐,确保界面整洁且易于操作。 在"科学计算器.zip"的压缩包中,最有可能包含的是MATLAB的.m文件,这些文件是GUI的源代码,...

    Flex学习大礼包 对您学习FLEX技术有很大的帮助

    学习材料可能涵盖如何使用这些组件,以及自定义组件的方法。 5. **数据绑定和状态管理**:Flex支持数据绑定,使得视图和模型之间的同步变得简单。同时,状态管理允许开发者为不同场景定义不同的界面状态。这部分的...

    微信小程序设计-房贷计算器.zip

    微信小程序支持响应式布局,开发者可以利用wxss的flex布局或者媒体查询(media query)来确保房贷计算器在不同尺寸的设备上都有良好的显示效果。 8. 测试与发布: 开发完成后,使用微信开发者工具进行真机预览、...

    gui.rar_GUI 计算器

    通过调整组件属性,可以创建符合个人风格或企业标准的计算器界面。 8. **保存和加载数据(Saving and Loading Data)**:虽然计算器通常不涉及持久化的数据存储,但在某些高级应用中,可能需要保存用户的计算历史或...

    cacul.rar_mfc 计算器_编译 计算器_编译原理 计算器

    在编译原理部分,计算器可能使用正则表达式或者自定义的词法分析器来识别数字、运算符和括号等元素。然后,通过定义一套上下文无关文法(例如,Bison或Flex工具可以生成这样的解析器),将输入的数学表达式转化为...

    微信小程序开发-计算器-案例分析.pptx

    4. 键盘模拟:在微信小程序中,我们可以使用自定义组件来模拟计算器的键盘,这样用户可以在手机屏幕上进行操作,而不需要调用系统键盘。 在实际开发过程中,我们还需要注意以下几点: - 页面状态管理:确保在用户...

    Flex拖动购物车很Cool给大家更多的帮助

    提到的"calculatorExample"可能是一个使用Flex实现的计算器示例,它可能展示了如何在Flex环境中构建一个功能齐全的计算组件。虽然与拖动购物车的主题略有不同,但这个例子可以用来学习Flex中的组件设计、事件处理和...

    微信小程序demo:加法计算器(1).rar

    在微信小程序中,所有的页面都是由多个组件(Component)组成的,这些组件可以是基础组件,如视图、按钮、图片等,也可以是自定义组件。 3. 加法计算器的实现: 一个简单的加法计算器通常包含两个输入框(input组件...

    Flex 计算工资软件

    4. **税务计算**:考虑到个人所得税的复杂性,Flex 可能包含一个内置的个税计算器,自动处理税率和速算扣除数,生成准确的税后工资。 5. **考勤关联**:与考勤系统接口对接,根据员工的出勤情况调整工资计算,如...

    微信小程序开发-高仿苹果计算器案例源码.zip

    开发者可能利用Flex布局或Grid布局来实现计算器的网格状按键排列,以达到苹果计算器的视觉效果。 8. **计算逻辑实现** 计算器的核心是计算逻辑,这部分通常在JavaScript文件中实现。开发者需要处理加减乘除、括号...

    微信小程序项目-房贷计算器WX_MortgageCalculator-master.zip

    开发者应熟练运用选择器、盒模型、布局模式(如Flex布局)等来创建美观且响应式的用户界面。 7. **调试与发布**:微信开发者工具提供了调试、预览和发布等功能,开发者需要学会如何使用这些工具来优化代码,解决...

    qt科学计算器源码

    输入解析通常采用词法分析和语法分析,如使用词法分析器(如Flex)和语法分析器(如Bison)来将用户输入的字符串转换为可执行的表达式树。在Qt中,可以自定义解析器或利用现有的解析库,例如Qt的QExpression类,它...

    微信小程序源码_高仿苹果计算器.zip

    在这个高仿苹果计算器的源码中,我们可以看到这两种语言如何组合使用来创建用户界面。 2. **页面生命周期**:每个微信小程序页面都有其特定的生命周期,包括onLoad、onShow、onHide、onUnload等方法。开发者可以在...

    实验二.rar_FlashMX/Flex源码_Others_

    2. **MXML**:MXML是Flex中的标记语言,用于描述用户界面的布局和组件。在计算器应用中,MXML文件可能会定义按钮、文本输入框等UI元素,并通过绑定机制将它们与ActionScript逻辑关联起来。 3. **Flex组件库**:Flex...

Global site tag (gtag.js) - Google Analytics