`
oncesorrows
  • 浏览: 11490 次
社区版块
存档分类
最新评论

Flex 实现分秒的时间组件

    博客分类:
  • Flex
阅读更多
实现代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="165" height="25">
	<mx:TextInput x="0" y="0" width="140" height="25" editable="{initeditable}" id="returnTime" text="{initvalue}"/>
	<mx:Button x="142" y="2" icon="@Embed(source='mx/controls/DateChooser.png')" fontWeight="normal" width="22" click="open(event)" height="22"/>
	<mx:Script>
		<![CDATA[
			import mx.events.NumericStepperEvent;
			import mx.controls.NumericStepper;
			import mx.events.ListEvent;
			import mx.controls.Label;
			import mx.containers.HBox;
			import mx.controls.TileList;
			import mx.core.IFlexDisplayObject;
			import mx.events.CloseEvent;
			import mx.controls.Button;
			import mx.controls.Alert;
			import mx.managers.PopUpManager;
			import mx.containers.TitleWindow;
			import mx.controls.Text;
			
			[Bindable]
			private var initvalue: String;
			[Bindable]
			private var initeditable:Boolean;
			
			public var resultTime:Text;
			private var m_width:Number = 168;
			
			private var pop:Object;
			private var isOpen:Boolean = false;
			private var nowTime:Date = new Date();
			
			private function open(event:MouseEvent):void{
				resultTime = new Text();
				if(!isOpen){
					pop = PopUpManager.createPopUp(this, TitleWindow, false); 
					pop.showCloseButton = true;
					pop.addEventListener(CloseEvent.CLOSE,closeHandler);
					pop.move(event.stageX+event.target.width-event.localX+5,event.stageY-event.localY);
					//pop.title = nowTime.fullYear.toString() + " 年 " + (nowTime.month+1) + " 月";
					pop.title = "时间选择";
					pop.setStyle("fontSize",12);
					
					
					var yearChangeHandler:Function = function(evt:NumericStepperEvent):void{
						nowTime.setFullYear(evt.value,nowTime.month,nowTime.date);
						PopUpManager.removePopUp(pop as IFlexDisplayObject);
						isOpen = false;
						open(event);
					}
					
					var monthChangeHandler:Function = function(evt:NumericStepperEvent):void{
						nowTime.setFullYear(nowTime.fullYear,evt.value-1,nowTime.date);
						PopUpManager.removePopUp(pop as IFlexDisplayObject);
						isOpen = false;
						open(event);
					}
					
					var minuteChangeHandler:Function = function(evt:NumericStepperEvent):void{
						nowTime.setHours(nowTime.hours,evt.value,nowTime.seconds,nowTime.milliseconds);
					}
					
					var hourChangeHandler:Function = function(evt:NumericStepperEvent):void{
						nowTime.setHours(evt.value,nowTime.minutes,nowTime.seconds,nowTime.milliseconds);
					}
					
					var testHandler:Function = function(event:ListEvent):void{
						PopUpManager.removePopUp(pop as IFlexDisplayObject);
						isOpen = false;
						resultTime.text = nowTime.fullYear + "-" + (nowTime.month+1) + "-" 
							+ event.target.selectedItems + " " +hour.value
							+ ":" + minute.value;
						returnTime.text =  resultTime.text;
					}
					
					
					var hBoxTop:HBox = new HBox();
					hBoxTop.width = m_width;
					var year:NumericStepper = new NumericStepper();
					year.setStyle("fontSize",10);
					year.stepSize = 1;
					year.minimum = 1999;
					year.maximum = 2999;
					year.width = 60;
					year.height = 20;
					year.value = nowTime.fullYear;
					year.addEventListener(NumericStepperEvent.CHANGE,yearChangeHandler);
					
					var y_label:Label = new Label();
					y_label.text = "年";
					y_label.setStyle("textAlign","center");
					y_label.width = 15;
					
					var month:NumericStepper = new NumericStepper();
					month.setStyle("fontSize",10);
					month.stepSize = 1;
					month.minimum = 0;
					month.maximum = 13;
					month.width = 50;
					month.height = 20;
					month.value = nowTime.month+1;
					month.addEventListener(NumericStepperEvent.CHANGE,monthChangeHandler);
					
					var m_label:Label = new Label();
					m_label.text = "月";
					m_label.setStyle("textAlign","center");
					m_label.width = 15;
					
					hBoxTop.addChild(year);
					hBoxTop.addChild(y_label);
					hBoxTop.addChild(month);
					hBoxTop.addChild(m_label);
					
					pop.addChild(hBoxTop);
					
					var hBox:HBox = new HBox();
					hBox.width = m_width;
					hBox.setStyle("horizontalGap",0);
					var weekName:Array = new Array("日","一","二","三","四","五","六");
					for(var index:Number=0; index<weekName.length; index++){
						var lab:Label = new Label();
						lab.text = weekName[index];
						lab.width = 24;
						lab.setStyle("textAlign","center");
						lab.setStyle("fontSize",12);
						if(weekName[index]=="日"){
							lab.setStyle("color","red");
						}
						hBox.addChild(lab);
					}
					pop.addChild(hBox);
					
					var tmpDate:Date = new Date(nowTime.fullYear,nowTime.month+1,0);
					var sumDay:Number = tmpDate.date ;
					
					var firstDay:Date = new Date(nowTime.fullYear,nowTime.month,1);
					var wday:Number = firstDay.day ;
					
					var todayNum:Number = nowTime.date;
					
					var rowNum:uint = Math.ceil((sumDay+wday)/7);
					//Alert.show(Math.round((sumDay+day)/7).toString());
					
					var tileList:TileList = new TileList();
					tileList.setStyle("fontSize",10);
					tileList.columnCount=7;
					tileList.rowCount=rowNum;
					tileList.width = 7*25;
					tileList.height = rowNum * 25;
					
					var myDP:Array = new Array();
					for(var i:Number=0; i<sumDay; i++){
						myDP.push((i+1).toString());
					}
					for(i=0; i<wday; i++){
						myDP.unshift(null);
					}
					
					tileList.dataProvider = myDP;
					tileList.selectedIndex = wday+todayNum-1; 
					
					tileList.addEventListener(ListEvent.ITEM_CLICK,testHandler);
					
					
					pop.addChild(tileList);
					
					var hBoxBottom:HBox = new HBox();
					hBoxBottom.width = m_width;
					hBoxBottom.setStyle("horizontalAlign","right");
					
					var hour:NumericStepper = new NumericStepper();
					hour.setStyle("fontSize",10);
					hour.stepSize = 1;
					hour.minimum = 0;
					hour.maximum = 23;
					hour.width = 50;
					hour.height = 20;
					hour.value = new Date().hours;
					hour.setStyle("paddingRight",0);
					hour.addEventListener(NumericStepperEvent.CHANGE,hourChangeHandler);
					var h_label:Label = new Label();
					h_label.text = "时";
					h_label.setStyle("textAlign","center");
					h_label.width = 15;
					
					var minute:NumericStepper = new NumericStepper();
					minute.setStyle("fontSize",10);
					minute.stepSize = 1;
					minute.minimum = 0;
					minute.maximum = 59;
					minute.width = 50;
					minute.height = 20;
					minute.value = new Date().minutes;
					minute.addEventListener(NumericStepperEvent.CHANGE,minuteChangeHandler);
					var mi_label:Label = new Label();
					mi_label.text = "分";
					mi_label.setStyle("textAlign","center");
					mi_label.width = 15;
					
					//					var subBtn:Button = new Button();
					//					subBtn.width = 40;
					//					subBtn.label = "确定";
					
					hBoxBottom.addChild(hour);
					hBoxBottom.addChild(h_label);
					hBoxBottom.addChild(minute);
					hBoxBottom.addChild(mi_label);
					//					hBoxBottom.addChild(subBtn);
					pop.addChild(hBoxBottom);
					isOpen = true;
				}else{
					PopUpManager.removePopUp(pop as IFlexDisplayObject);
					isOpen = false;
				}
			}
			
			private function closeHandler(event:CloseEvent):void{
				PopUpManager.removePopUp(event.target as IFlexDisplayObject);
				isOpen = false;
			}
			
			public function set text(str:String):void{
				initvalue = str ;
			}
			public function get text():String{
				return returnTime.text ;
			}
			
			public function set editable(str:Boolean):void{
				initeditable = str;
			}
			public function get editable(): Boolean{
				return returnTime.editable;
			}
		]]>
	</mx:Script>
</mx:Module>



包已经上传直接就可以用.
分享到:
评论

相关推荐

    flex 有时分秒的日期控件

    flex 有时分秒的日期控件,该控件对dateField功能上进行了扩展,可以设置时分秒

    Flex时间选择控件 精确到时分秒

    Flex时间选择控件是Adobe Flex框架中用于处理用户界面中时间输入的一种组件,它允许用户以小时、分钟和秒为单位进行精确的选择。在Flex应用开发中,这种控件对于那些需要用户输入特定时间信息的场景非常实用,比如...

    年月日时分秒选择器.zip

    uniapp提供了一些内置的适配策略,如px转rpx,以及flex布局等,可以帮助我们实现这一目标。 8. **交互优化**: 为了让用户体验更佳,可以考虑添加预设时间、快速选择(如最近一周、今天、明天等)、清除选择等功能。...

    毕业设计物联网实战项目基于Eclipse Theia开源框架开发的物联网在线编程IDE.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    Android毕设实战项目基于Android的医院挂号系统.zip

    【项目资源】: 适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    (源码)基于Python的KMeans和EM算法结合图像分割项目.zip

    # 基于Python的KMeans和EM算法结合图像分割项目 ## 项目简介 本项目结合KMeans聚类和EM(期望最大化)算法,实现对马赛克图像的精准分割。通过Gabor滤波器提取图像的多维特征,并利用KMeans进行初步聚类,随后使用EM算法优化聚类结果,最终生成高质量的分割图像。 ## 项目的主要特性和功能 1. 图像导入和预处理: 支持导入马赛克图像,并进行灰度化、滤波等预处理操作。 2. 特征提取: 使用Gabor滤波器提取图像的多维特征向量。 3. 聚类分析: 使用KMeans算法对图像进行初步聚类。 利用KMeans的聚类中心初始化EM算法,进一步优化聚类结果。 4. 图像生成和比较: 生成分割后的图像,并与原始图像进行比较,评估分割效果。 5. 数值比较: 通过计算特征向量之间的余弦相似度,量化分割效果的提升。 ## 安装使用步骤 ### 假设用户已经下载了项目的源码文件 1. 环境准备:

    HCIP第一次作业:静态路由综合实验

    HCIP第一次作业:静态路由综合实验

    毕设单片机实战项目基于stm32、esp8266和Android的智能家居系统-设备端.zip

    【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    统计学基于Python的Johnson-SU分布参数计算与优化:数据拟合及弹性网络参数优化方法实现(复现论文或解答问题,含详细可运行代码及解释)

    内容概要:本文详细介绍了Johnson-SU分布的参数计算与优化过程,涵盖位置参数γ、形状参数δ、尺度参数ξ和伸缩参数λ的计算方法,并实现了相应的Python代码。文中首先导入必要的库并设置随机种子以确保结果的可复现性。接着,分别定义了四个参数的计算函数,其中位置参数γ通过加权平均值计算,形状参数δ基于局部均值和标准差的比值,尺度参数ξ结合峰度和绝对偏差,伸缩参数λ依据偏态系数。此外,还实现了Johnson-SU分布的概率密度函数(PDF),并使用负对数似然函数作为目标函数,采用L-BFGS-B算法进行参数优化。最后,通过弹性网络的贝叶斯优化展示了另一种参数优化方法。; 适合人群:具有Python编程基础,对统计学和机器学习有一定了解的研究人员或工程师。; 使用场景及目标:①需要对复杂数据分布进行建模和拟合的场景;②希望通过优化算法提升模型性能的研究项目;③学习如何实现和应用先进的统计分布及优化技术。; 阅读建议:由于涉及较多数学公式和编程实现,建议读者在阅读时结合相关数学知识,同时动手实践代码,以便更好地理解和掌握Johnson-SU分布及其优化方法。

    TSP问题的3种智能优化方法求解(研究生课程《智能优化算法》结课大作业).zip

    TSP问题的3种智能优化方法求解(研究生课程《智能优化算法》结课大作业).zip

    毕业设计物联网实战项目基于Rtthread和MQTT搭建的物联网网关.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    基于STM32F103C8T6的温湿度传感器(HAL库版),通过串口向电脑端反馈数据(附通过ESP8266-01s模块连接WIFI上传云平台的资料代码-固件库版本).zip

    【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    自动发布Java项目(Tomcat)Shell脚本

    自动发布Java项目(Tomcat)Shell脚本

    (源码)基于webpack和Vue的前端项目构建方案.zip

    # 基于webpack和Vue的前端项目构建方案 ## 项目简介 本项目是基于webpack和Vue构建的前端项目方案,借助webpack强大的打包能力以及Vue的开发特性,可用于快速搭建现代化的前端应用。项目不仅完成了基本的webpack与Vue的集成配置,还在构建速度优化和代码规范性方面做了诸多配置。 ## 项目的主要特性和功能 1. 打包功能运用webpack进行模块打包,支持将scss转换为css,借助babel实现语法转换。 2. Vue开发支持集成Vue框架,能使用Vue单文件组件的开发模式。 3. 构建优化采用threadloader实现多进程打包,cacheloader缓存资源,极大提高构建速度开启热更新功能,开发更高效。 4. 错误处理与优化提供不同环境下的错误映射配置,便于定位错误利用webpackbundleanalyzer分析打包体积。

    Hands-On Large Language Models - Jay Alammar 袋鼠书 《动手学大语言模型》

    Hands-On Large Language Models - Jay Alammar 袋鼠书 《动手学大语言模型》PDF

    《基于YOLOv8的舞蹈动作分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    (源码)基于Arduino Feather M0和Raspberry Pi的传感器数据采集与监控系统.zip

    # 基于Arduino Feather M0和Raspberry Pi的传感器数据采集与监控系统 ## 项目简介 本项目是一个基于Arduino Feather M0和Raspberry Pi的传感器数据采集与监控系统。系统通过Arduino Feather M0采集传感器数据,并通过WiFi将数据传输到Raspberry Pi。Raspberry Pi运行BalenaOS,集成了MySQL、PHP、NGINX、Apache和Grafana等工具,用于数据的存储、处理和可视化。项目适用于环境监测、物联网设备监控等场景。 ## 项目的主要特性和功能 1. 传感器数据采集使用Arduino Feather M0和AM2315传感器采集温度和湿度数据。 2. WiFi数据传输Arduino Feather M0通过WiFi将采集到的数据传输到Raspberry Pi。

    《基于YOLOv8的音响设备识别系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Android毕设实战项目这是一个android 图书管理系统.zip

    【项目资源】: 适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

Global site tag (gtag.js) - Google Analytics