- 浏览: 710326 次
- 性别:
- 来自: 福建
-
文章分类
最新评论
-
羽翼的心动:
同意2楼的说法,我们公司之前一个项目用过pageoffice, ...
poi导出excel文件工具类 -
贝塔ZQ:
poi实现导出excel文件,蛮麻烦的,用pageoffice ...
poi导出excel文件工具类 -
aishiqiang:
为什么我的项目配置好证书后,每次使用jenkinst自动构建包 ...
关于使用https协议,cas认证PKIX path building failed错误解决方法 -
zhongmin2012:
谢谢分享,正在想看
AST解析java源文件相关jar包 -
mybestroy1108:
感谢分享!受益良多!
Jboss7 JMS demo
记得第一次接触FLEX3是在毕业那一年,那时已经工作了大半年了,时隔两年多,终于有机会拿来露一手了,虽然只是当做课程设计来交付作业,但总算比以往有所突破吧。
先上截图:
事先声明下这个仅是课程设计,供各位过客参观学习。
进入正题,大家一看就知道前端是Flash,采用Flex3开发的,后端采用java做应用服务器(spring架构),至于Flex3和服务端的通信采用了BlazedDS。
用户:demo
密码 :111111
DEMO:http://dyml.v108.10000net.cn/family_financial/financial/index.html(服务器不给力,速度很差劲,估计BlazedDS的通信效率也不高吧)
桌面版本下载:http://dyml.v108.10000net.cn/family_financial/download.jsp
家庭财务管理系统主要分为三个模块:
财务分析:主要分析从今年01月01日开始的家庭收入、支出情况,按照月份进行统计,从图表中可以很容易看出每个月的收支是否平衡。
收入:对家庭成员的收入进行管理分析,记录每位家庭成员的收入情况,以及家庭成员占家庭财务收入的比重分析。
支出:分析每位家庭成员的开销情况,以及按照分类显示当前的开销分析图表。
贴上Flex端部分源码:
更新演示地址
DEMO:http://www.fjlxtea.com/family_financial/financial/index.html
桌面版本下载:http://www.fjlxtea.com/family_financial/download.jsp
用户:demo
密码 :111111
先上截图:

事先声明下这个仅是课程设计,供各位过客参观学习。
进入正题,大家一看就知道前端是Flash,采用Flex3开发的,后端采用java做应用服务器(spring架构),至于Flex3和服务端的通信采用了BlazedDS。
用户:demo
密码 :111111
DEMO:http://dyml.v108.10000net.cn/family_financial/financial/index.html(服务器不给力,速度很差劲,估计BlazedDS的通信效率也不高吧)
桌面版本下载:http://dyml.v108.10000net.cn/family_financial/download.jsp
家庭财务管理系统主要分为三个模块:
财务分析:主要分析从今年01月01日开始的家庭收入、支出情况,按照月份进行统计,从图表中可以很容易看出每个月的收支是否平衡。
收入:对家庭成员的收入进行管理分析,记录每位家庭成员的收入情况,以及家庭成员占家庭财务收入的比重分析。
支出:分析每位家庭成员的开销情况,以及按照分类显示当前的开销分析图表。
贴上Flex端部分源码:
<?xml version="1.0" encoding="utf-8"?> <!-- Simple example to demonstrate the Application container. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundGradientColors="[0xCCCCCC, 0x66CCFF]" backgroundColor="0xCCCCCC" horizontalAlign="center" verticalAlign="center" xmlns:module="module.*" initialize="init()" minWidth="800" minHeight="620" > <mx:Script> <![CDATA[ import mx.events.CloseEvent; import com.adobe.serialization.json.JSON; import mx.rpc.remoting.mxml.RemoteObject; import mx.rpc.events.ResultEvent; import flash.net.navigateToURL; import module.form.LoginForm; import mx.events.FlexEvent; import mx.managers.PopUpManager; import module.form.SettingForm; import mx.controls.Alert; public var curentVersion : String = "1.2"; public var downloadUrl :String = "/family_financial/download.jsp"; public function init():void{ //Alert.show((Session.getSession("userInfo")==null).toString()); if(Session.getSession("server_url") == null || Session.getSession("server_url").toString() == ""){ //设置服务器地址 Session.setSession("server_url", "http://dyml.v108.10000net.cn"); } openLoginForm(); } public function destory():void{ Session.clearSession("userInfo"); } private function addCallback(evt:Event):void{ if(Session.getSession("userInfo") != null && Session.getSession("userInfo").userId != ""){ Session.setSession("_userId",Session.getSession("userInfo").userId); cwfx.init(); checkVersion(); } } // Event handler function for displaying the selected Alert button. private function alertClickHandler(event:CloseEvent):void { if (event.detail==Alert.YES){ //打开下载页面 var url:URLRequest = new URLRequest(Session.getSession("server_url").toString() + downloadUrl); navigateToURL(url, "_blank"); } } private function checkVersion():void{ var remote:RemoteObject = CustomRemoteObject.getRemogeObject("versionService"); //监听调用成功事件 remote.addEventListener(ResultEvent.RESULT,function(evt:ResultEvent):void{ var object:Object = (JSON.decode(evt.result.toString()) as Object); if(object.success){ if(object.object != null){ downloadUrl = object.object; } Alert.show(object.msg, "更新提示", Alert.YES|Alert.NO, null, alertClickHandler); } }); //调用J2EE端类中的方法 remote.checkVersion(curentVersion); } private function openLoginForm():void{ var form:LoginForm = LoginForm(PopUpManager.createPopUp(this, LoginForm , true)); PopUpManager.centerPopUp(form); if(Session.getSession("_userId") != null && Session.getSession("_userId") != ""){ form.username.text = Session.getSession("_userId").toString(); } form.addEventListener(FlexEvent.REMOVE, addCallback); } private function openBlog(event:Event):void { var url:URLRequest = new URLRequest("http://lym6520.iteye.com"); navigateToURL(url, "_blank"); } ]]> </mx:Script> <mx:Style> Label{ paddingTop:-18px; } </mx:Style> <mx:Label text="家庭财务管理系统" width="100%" height="10" fontSize="18" color="#D1FC09" fontWeight="bold" enabled="true" alpha="0.9" > </mx:Label> <mx:ApplicationControlBar dock="false" width="100%"> <mx:Button label="财务分析" click="containerViewStack.selectedChild=cwfx;"/> <mx:Button label="成员管理" click="containerViewStack.selectedChild=cygl;"/> <mx:Button label="收 入" click="containerViewStack.selectedChild=sr;"/> <mx:Button label="支 出" click="containerViewStack.selectedChild=zc;"/> </mx:ApplicationControlBar> <mx:ViewStack id="containerViewStack" borderStyle="solid" width="100%" height="100%"> <module:analyze id="cwfx" title="家庭财务分析" > </module:analyze> <module:memberMgr id="cygl" title="家庭成员管理" > </module:memberMgr> <module:income id="sr" title="家庭收入" > </module:income> <module:expend id="zc" title="家庭支出"> </module:expend> </mx:ViewStack> <mx:HBox paddingTop="5"> <mx:LinkButton label="Copyright © 2012脉兜课程设计" color="blue" click="openBlog(event);"/> </mx:HBox> </mx:Application>
<?xml version="1.0" encoding="utf-8"?> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%" xmlns:chart="module.chart.*" initialize="init();" xmlns:form="module.form.*"> <mx:Script> <![CDATA[ import mx.events.ListEvent; import com.adobe.utils.IntUtil; import mx.events.ScrollEvent; import com.adobe.utils.DateUtil; import mx.formatters.DateFormatter; import module.form.IncomeForm; import mx.events.CloseEvent; import mx.core.Application; import mx.events.FlexEvent; import mx.managers.PopUpManager; import mx.collections.ArrayCollection; import com.adobe.serialization.json.JSON; import mx.rpc.remoting.mxml.RemoteObject; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.controls.Alert; var beforePage:int = 0; public function init():void{ var remote:RemoteObject = CustomRemoteObject.getRemogeObject("incomeService"); var pageSize : Number = 12; //监听调用成功事件 remote.addEventListener(ResultEvent.RESULT, function(evt:ResultEvent):void{ var object:Object = (JSON.decode(evt.result.toString()) as Object); if(object.success){ var arr:Array = (object.object.objectList as Array); var dp:ArrayCollection = new ArrayCollection(); var totalPage : int = (object.object.total as int)/pageSize ; if((object.object.total % pageSize) > 0){ pageBar.maxScrollPosition = totalPage; }else{ pageBar.maxScrollPosition = totalPage -1 ; } if(object.object.total <= pageSize){ pageBar.setVisible(false); pageBarSpacer.width = -30; }else{ pageBar.setVisible(true); pageBarSpacer.width = -20; } for(var i = 0, len=arr.length; i < len; i++){ var bean:Object = new Object(); bean.id = arr[i]["id"]; bean.jtcy = arr[i]["cyid"]; bean.cyname = arr[i]["cyname"]; bean.lb = arr[i]["lb"]; bean.lbname = arr[i]["lbname"]; bean.je = arr[i]["je"]; bean.sm = arr[i]["sm"]; bean.sj = arr[i]["sj"]; bean.bcsj = arr[i]["bcsj"]; dp.addItem(bean); } dataGrid.dataProvider = dp; }else{ Alert.show(object.msg); } } ); var str_startDate : String = startDate.text; var str_endDate :String = endDate.text; var date:Date = new Date(); var df : DateFormatter = new DateFormatter(); if(str_startDate == ""){ df.formatString = "YYYY"; str_startDate = df.format(date) + "-01-01"; startDate.text = str_startDate; } if(endDate.text == ""){ df.formatString = "YYYY-MM-DD"; str_endDate = df.format(date); endDate.text = str_endDate; } var param:Object = new Object(); param.userId = Session.getSession("userInfo").userId; param.startDate = str_startDate; param.endDate = str_endDate; param.pageSize = pageSize.toString(); param.pageNumber = (pageBar.maxScrollPosition >= pageBar.scrollPosition ? pageBar.scrollPosition +1 : pageBar.maxScrollPosition).toString(); beforePage = param.pageNumber; //调用J2EE端类中的方法 remote.list(param); incomePieChart.str_startDate = str_startDate; incomePieChart.str_endDate = str_endDate; incomePieChart.init(); } private function pageScroll(event:ScrollEvent):void { //event.currentTarget.scrollPosition ; //event.currentTarget.maxScrollPosition; if(beforePage != (event.currentTarget.scrollPosition+1)){ init(); } } private function addCallback(evt:Event):void{ init(); } private function showAddFormWindow():void { var date:Date = new Date(); var df : DateFormatter = new DateFormatter(); df.formatString = "YYYY-MM-DD"; var form:IncomeForm = IncomeForm(PopUpManager.createPopUp(this, IncomeForm , true)); form.rq.text = df.format(date); PopUpManager.centerPopUp(form); form.addEventListener(FlexEvent.REMOVE, addCallback); } private function showModifyFormWindow():void { if(dataGrid.selectedItem != null){ var form:IncomeForm = IncomeForm(PopUpManager.createPopUp(this, IncomeForm , true)); PopUpManager.centerPopUp(form); form.addEventListener(FlexEvent.REMOVE, addCallback); form.fid.text = dataGrid.selectedItem.id; form.je.text = dataGrid.selectedItem.je; form.rq.text = dataGrid.selectedItem.sj; form.sm.text = dataGrid.selectedItem.sm; form.addBtn.visible = false; var xmList1 : ArrayCollection = (form.lb.dataProvider as ArrayCollection); for(var i=0, len=xmList1.length; i < len; i++){ if(xmList1[i].data == dataGrid.selectedItem.lb){ form.lb.selectedIndex = i; break; } } var xmList2 : ArrayCollection = (form.xm.dataProvider as ArrayCollection); for(var i=0, len=xmList2.length; i < len; i++){ if(xmList2[i].data == dataGrid.selectedItem.jtcy){ form.xm.selectedIndex = i; break; } } }else{ Alert.show("请选中一条记录!"); } } private function deleteItemConfirm(event:Event):void { if(dataGrid.selectedItem != null){ Alert.show("是否确认删除当前选中记录?", "删除提示", 3, this, deleteItem); }else{ Alert.show("请选中一条记录!"); } } private function deleteItem(event:CloseEvent):void { if (event.detail==Alert.YES){ var remote:RemoteObject = CustomRemoteObject.getRemogeObject("incomeService"); //监听调用成功事件 remote.addEventListener(ResultEvent.RESULT, function(evt:ResultEvent):void{ var object:Object = (JSON.decode(evt.result.toString()) as Object); if(object.success){ init(); }else{ Alert.show(object.msg); } } ); var object: Object = new Object(); object.id = dataGrid.selectedItem.id; object.userId = Session.getSession("userInfo").userId; //调用J2EE端类中的方法 remote.deleteItem(object); } } private function doubleClick(event: ListEvent):void{ showModifyFormWindow(); } ]]> </mx:Script> <mx:ApplicationControlBar dock="true" width="100%" alpha="1.0" fillAlphas="[1.0, 0.0]" fillColors="[#F7F7F1, #C7E6F6]" themeColor="#D8ECF8" cornerRadius="0"> <mx:Button label="添加" click="showAddFormWindow()"/> <mx:Button label="修改" click="showModifyFormWindow()"/> <mx:Button label="删除" click="deleteItemConfirm(event);"/> </mx:ApplicationControlBar> <mx:HBox width="80%" paddingTop="5"> <mx:Spacer width="10"/> <form:MyDateField id="startDate" yearNavigationEnabled="true" width="200" formatString="YYYY-MM-DD"/> <form:MyDateField id="endDate" yearNavigationEnabled="true" width="200" formatString="YYYY-MM-DD"/> <mx:Button label="确 定" click="init();"/> </mx:HBox> <mx:HBox width="100%" height="85%" paddingLeft="5" paddingRight="5"> <mx:DataGrid id="dataGrid" width="100%" height="100%" verticalScrollPolicy="off" doubleClickEnabled="true" itemDoubleClick="doubleClick(event);"> <mx:columns> <mx:DataGridColumn dataField="id" visible="false"/> <mx:DataGridColumn dataField="jtcy" visible="false"/> <mx:DataGridColumn dataField="cyname" headerText="家庭成员"/> <mx:DataGridColumn dataField="lb" visible="false"/> <mx:DataGridColumn dataField="lbname" headerText="类别"/> <mx:DataGridColumn dataField="je" headerText="金额"/> <mx:DataGridColumn dataField="sm" headerText="说明"/> <mx:DataGridColumn dataField="sj" headerText="收入日期"/> <mx:DataGridColumn dataField="bcsj" headerText="保存时间"/> </mx:columns> </mx:DataGrid> <mx:Spacer id="pageBarSpacer" width="-30"/> <mx:VScrollBar id="pageBar" height="100%" visible="false" minScrollPosition="0" maxScrollPosition="1" lineScrollSize="1" pageScrollSize="1" repeatDelay="1000" repeatInterval="500" scroll="pageScroll(event);"/> <chart:IncomePieChart id="incomePieChart" title="收入比重分析" width="350" height="300"/> </mx:HBox> </mx:Panel>
<?xml version="1.0" encoding="utf-8"?> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%" initialize="init();" xmlns:chart="module.chart.*" xmlns:form="module.form.*"> <mx:Script> <![CDATA[ import mx.events.ListEvent; import mx.events.ScrollEvent; import com.adobe.utils.DateUtil; import mx.formatters.DateFormatter; import module.form.ExpendForm; import mx.events.CloseEvent; import mx.core.Application; import mx.events.FlexEvent; import mx.managers.PopUpManager; import mx.collections.ArrayCollection; import com.adobe.serialization.json.JSON; import mx.rpc.remoting.mxml.RemoteObject; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.controls.Alert; public var beforePage:int = 0; public function init():void{ var remote:RemoteObject = CustomRemoteObject.getRemogeObject("expendService"); var pageSize : Number = 12; //监听调用成功事件 remote.addEventListener(ResultEvent.RESULT, function(evt:ResultEvent):void{ var object:Object = (JSON.decode(evt.result.toString()) as Object); if(object.success){ var arr:Array = (object.object.objectList as Array); var dp:ArrayCollection = new ArrayCollection(); var totalPage : int = (object.object.total as int)/pageSize ; if((object.object.total % pageSize) > 0){ pageBar.maxScrollPosition = totalPage; }else{ pageBar.maxScrollPosition = totalPage -1 ; } if(object.object.total <= pageSize){ pageBar.setVisible(false); pageBarSpacer.width = -30; }else{ pageBar.setVisible(true); pageBarSpacer.width = -20; } for(var i = 0, len=arr.length; i < len; i++){ var bean:Object = new Object(); bean.id = arr[i]["id"]; bean.jtcy = arr[i]["cyid"]; bean.cyname = arr[i]["cyname"]; bean.lb = arr[i]["lb"]; bean.lbname = arr[i]["lbname"]; bean.je = arr[i]["je"]; bean.sm = arr[i]["sm"]; bean.sj = arr[i]["sj"]; bean.bcsj = arr[i]["bcsj"]; dp.addItem(bean); } dataGrid.dataProvider = dp; }else{ Alert.show(object.msg); } } ); var str_startDate : String = startDate.text; var str_endDate :String = endDate.text; var date:Date = new Date(); var df : DateFormatter = new DateFormatter(); if(str_startDate == ""){ df.formatString = "YYYY"; str_startDate = df.format(date) + "-01-01"; startDate.text = str_startDate; } if(endDate.text == ""){ df.formatString = "YYYY-MM-DD"; str_endDate = df.format(date); endDate.text = str_endDate; } var param:Object = new Object(); param.userId = Session.getSession("userInfo").userId; param.startDate = str_startDate; param.endDate = str_endDate; param.pageSize = pageSize.toString(); param.pageNumber = (pageBar.maxScrollPosition >= pageBar.scrollPosition ? pageBar.scrollPosition +1 : pageBar.maxScrollPosition).toString(); beforePage = param.pageNumber; //调用J2EE端类中的方法 remote.list(param); expendBarChart.str_startDate = str_startDate; expendBarChart.str_endDate = str_endDate; expendBarChart.init(); } private function pageScroll(event:ScrollEvent):void { if(beforePage != (event.currentTarget.scrollPosition+1)){ init(); } } private function addCallback(evt:Event):void{ init(); } private function showAddFormWindow():void { var date:Date = new Date(); var df : DateFormatter = new DateFormatter(); df.formatString = "YYYY-MM-DD"; var form:ExpendForm = ExpendForm(PopUpManager.createPopUp(this, ExpendForm , true)); form.rq.text = df.format(date); PopUpManager.centerPopUp(form); form.addEventListener(FlexEvent.REMOVE, addCallback); } private function showModifyFormWindow():void { if(dataGrid.selectedItem != null){ var form:ExpendForm = ExpendForm(PopUpManager.createPopUp(this, ExpendForm , true)); PopUpManager.centerPopUp(form); form.addEventListener(FlexEvent.REMOVE, addCallback); form.fid.text = dataGrid.selectedItem.id; form.je.text = dataGrid.selectedItem.je; form.rq.text = dataGrid.selectedItem.sj; form.sm.text = dataGrid.selectedItem.sm; form.addBtn.visible = false; var xmList1 : ArrayCollection = (form.lb.dataProvider as ArrayCollection); for(var i=0, len=xmList1.length; i < len; i++){ if(xmList1[i].data == dataGrid.selectedItem.lb){ form.lb.selectedIndex = i; break; } } var xmList2 : ArrayCollection = (form.xm.dataProvider as ArrayCollection); for(var i=0, len=xmList2.length; i < len; i++){ if(xmList2[i].data == dataGrid.selectedItem.jtcy){ form.xm.selectedIndex = i; break; } } }else{ Alert.show("请选中一条记录!"); } } private function deleteItemConfirm(event:Event):void { if(dataGrid.selectedItem != null){ Alert.show("是否确认删除当前选中记录?", "删除提示", 3, this, deleteItem); }else{ Alert.show("请选中一条记录!"); } } private function deleteItem(event:CloseEvent):void { if (event.detail==Alert.YES){ var remote:RemoteObject = CustomRemoteObject.getRemogeObject("expendService"); //监听调用成功事件 remote.addEventListener(ResultEvent.RESULT, function(evt:ResultEvent):void{ var object:Object = (JSON.decode(evt.result.toString()) as Object); if(object.success){ init(); }else{ Alert.show(object.msg); } } ); var object: Object = new Object(); object.id = dataGrid.selectedItem.id; object.userId = Session.getSession("userInfo").userId; //调用J2EE端类中的方法 remote.deleteItem(object); } } private function doubleClick(event: ListEvent):void{ showModifyFormWindow(); } ]]> </mx:Script> <mx:ApplicationControlBar dock="true" width="100%" alpha="1.0" fillAlphas="[1.0, 0.0]" fillColors="[#F7F7F1, #C7E6F6]" themeColor="#D8ECF8" cornerRadius="0"> <mx:Button label="添加" click="showAddFormWindow()"/> <mx:Button label="修改" click="showModifyFormWindow()"/> <mx:Button label="删除" click="deleteItemConfirm(event);"/> </mx:ApplicationControlBar> <mx:HBox width="80%" paddingTop="5"> <mx:Spacer width="10"/> <form:MyDateField id="startDate" yearNavigationEnabled="true" width="200" formatString="YYYY-MM-DD"/> <form:MyDateField id="endDate" yearNavigationEnabled="true" width="200" formatString="YYYY-MM-DD"/> <mx:Button label="确 定" click="init();"/> </mx:HBox> <mx:HBox width="100%" height="85%" paddingLeft="5" paddingRight="5"> <mx:DataGrid id="dataGrid" width="100%" height="100%" verticalScrollPolicy="off" doubleClickEnabled="true" itemDoubleClick="doubleClick(event);"> <mx:columns> <mx:DataGridColumn dataField="id" visible="false"/> <mx:DataGridColumn dataField="jtcy" visible="false"/> <mx:DataGridColumn dataField="cyname" headerText="家庭成员"/> <mx:DataGridColumn dataField="lb" visible="false"/> <mx:DataGridColumn dataField="lbname" headerText="类别"/> <mx:DataGridColumn dataField="je" headerText="金额"/> <mx:DataGridColumn dataField="sm" headerText="说明"/> <mx:DataGridColumn dataField="sj" headerText="支出日期"/> <mx:DataGridColumn dataField="bcsj" headerText="保存时间"/> </mx:columns> </mx:DataGrid> <mx:Spacer id="pageBarSpacer" width="-30"/> <mx:VScrollBar id="pageBar" height="100%" visible="false" minScrollPosition="0" maxScrollPosition="1" lineScrollSize="1" pageScrollSize="1" repeatDelay="1000" repeatInterval="500" scroll="pageScroll(event);"/> <chart:ExpendBarChart id="expendBarChart" title="支出分析" width="350" height="100%"/> </mx:HBox> </mx:Panel>
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" title="登入" > <mx:Script> <![CDATA[ import mx.events.ValidationResultEvent; import mx.rpc.remoting.mxml.RemoteObject; import mx.controls.Alert; import com.adobe.serialization.json.JSON; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.managers.PopUpManager; // Event handler for the OK button. private function submit():void { if(username_validator.validate().type == ValidationResultEvent.INVALID){ return; } if(password_validator.validate().type == ValidationResultEvent.INVALID){ return; } var remote:RemoteObject = CustomRemoteObject.getRemogeObject("loginService"); //监听调用成功事件 remote.addEventListener(ResultEvent.RESULT,result); var objectBean:Object = new Object(); objectBean.userId = username.text; objectBean.password = password.text; //调用J2EE端类中的方法 remote.login(objectBean); } private function result(evt:ResultEvent):void{ var object:Object = (JSON.decode(evt.result.toString()) as Object); if(object.success){ var object2 : Object = new Object(); object2.userId = object.object.yhm; object2.name = object.object.mc; Session.setSession("userInfo",object2); PopUpManager.removePopUp(this); }else{ Alert.show(object.msg); } } private function openSettingForm():void{ var form:SettingForm = SettingForm(PopUpManager.createPopUp(this, SettingForm , true)); form.url.text = Session.getSession("server_url").toString(); PopUpManager.centerPopUp(form); } ]]> </mx:Script> <mx:Form width="100%" height="100%"> <mx:FormItem label="用户名:"> <mx:TextInput id="username" width="200"/> </mx:FormItem> <mx:FormItem label="密 码:"> <mx:TextInput id="password" displayAsPassword="true" width="200"/> </mx:FormItem> </mx:Form> <mx:HBox width="100%" horizontalAlign="right" paddingRight="10" paddingBottom="10"> <mx:TextInput id="fid" visible="false" text=""/> <mx:Button label="登入" click="submit();"/> <!-- <mx:Button label="网络设置" click="openSettingForm();" fillAlphas="[1.0, 1.0]" fillColors="[#AAA5A5, #D4C9C9, #DFC3C3, #F7DDDD]"/> --> </mx:HBox> <mx:StringValidator id="username_validator" source="{username}" property="text" minLength="4" requiredFieldError="不能放空。"/> <mx:StringValidator id="password_validator" source="{password}" property="text" minLength="6" requiredFieldError="不能放空。"/> </mx:TitleWindow>
评论
2 楼
lym6520
2014-04-15
项目已下架。
1 楼
lym6520
2012-12-30

DEMO:http://www.fjlxtea.com/family_financial/financial/index.html
桌面版本下载:http://www.fjlxtea.com/family_financial/download.jsp
用户:demo
密码 :111111
发表评论
-
apexUpload flash上传控件
2015-05-24 16:56 1737简单易用的flash附件上传,使用jquery封装调用。 ... -
linux 定时任务检查服务器是否正常
2014-02-28 22:21 4732通过curl命令判断url返回状态,以此来确定服务是否正常: ... -
poi导出excel文件工具类
2014-01-20 21:54 7276package m.utils.excel; imp ... -
Flex应用保存为图片
2012-05-29 22:28 1749好久没写点东西了,来分享一段代码, 关于Flex应用或 ... -
分享几个使用Flex3开发的图表示例
2011-08-19 11:31 2433老早就接触flex了,到今年6月份才应用到开发中,主 ... -
what's MINA?
2011-03-15 23:09 1383what's MINA? Apache MINA is a ... -
如何避免吧.svn文件编译到classes目录下
2011-01-25 09:47 0SVN是一个很好用的版本管理根据,但有一个很烦人的问题用ecl ... -
Java 异常处理及其应用
2010-10-26 12:46 1390Java 异常处理的忌讳引 ... -
AST解析java源文件相关jar包
2010-08-26 14:57 10592今天有个处理需要涉及到java源文件的解析,baidu、goo ... -
使用ejb3配置开发SessionBean
2010-08-25 17:06 0Session Bean除了可以使用注释来发布外,也可以使用相 ... -
oracle clob类型处理
2010-08-23 11:13 0oracle clob类型处理 update clob字段放 ... -
ibatis 事务回滚操作
2010-08-11 13:54 0public StateBean deleteTask(M ... -
设计模式 之 “适配器模式[Adapter Pattern]”
2010-07-15 08:58 1166适配器模式[Adapter Pattern]类图 适配器模 ... -
帮朋友写的个关键字搜索器
2010-07-14 10:33 1476上礼拜一朋友让我帮忙写个小软件,需求大概是这样的:一个 ... -
实现xml到JavaBean的转换
2010-05-15 22:08 1684今天心血来潮,想实现xml到JavaBean的实现,baidu ... -
使用apache mail发送邮件错误解决办法
2010-04-28 16:29 8239今天在写发送邮件的程序时发现了以下两个些错误,贴出来跟大家分享 ... -
jbpm4部署异常
2010-03-15 10:11 0java.lang.LinkageError: loader ... -
spring 单元测试:java.lang.SecurityException
2010-03-05 20:06 0spring 单元测试抛出: java.lang.Secur ... -
获得spring bean
2010-02-24 08:45 0获得spring bean import org.spr ... -
认识spring事务
2010-02-02 10:23 1770ps:这篇文章几个月前就整理好了,参考了很多好文章,吸 ...
相关推荐
win7修复本地系统工具
《自动化专业英语》04-Automatic-Detection-Block(自动检测模块).ppt
《计算机专业英语》chapter12-Intelligent-Transportation.ppt
内容概要:本文详细介绍了基于西门子S7-1200博图平台的3轴伺服螺丝机程序。该程序使用SCL语言编写,结合KTP700组态和TIA V14及以上版本,实现了对X、Y、Z三个轴的精密控制。文章首先概述了程序的整体架构,强调了其在自动化控制领域的高参考价值。接着深入探讨了关键代码片段,如轴初始化、运动控制以及主程序的设计思路。此外,还展示了如何通过KTP700组态实现人机交互,并分享了一些实用的操作技巧和技术细节,如状态机设计、HMI交互、异常处理等。 适用人群:从事自动化控制系统开发的技术人员,尤其是对西门子PLC编程感兴趣的工程师。 使用场景及目标:适用于希望深入了解西门子S7-1200博图平台及其SCL语言编程特点的学习者;旨在帮助读者掌握3轴伺服系统的具体实现方法,提高实际项目中的编程能力。 其他说明:文中提供的代码示例和设计理念不仅有助于理解和学习,还能直接应用于类似的实际工程项目中。
内容概要:本文详细探讨了五种非线性滤波器(卡尔曼滤波(KF)、扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)、粒子滤波(PF)和变维卡尔曼滤波(VDKF))在水下长基线定位(LBL)系统中的应用。通过对每种滤波器的具体实现进行MATLAB代码展示,分析了它们在不同条件下的优缺点。例如,KF适用于线性系统但在非线性环境中失效;EKF通过雅可比矩阵线性化处理非线性问题,但在剧烈机动时表现不佳;UKF利用sigma点处理非线性,精度较高但计算量大;PF采用蒙特卡罗方法,鲁棒性强但计算耗时;VDKF能够动态调整状态维度,适合信标数量变化的场景。 适合人群:从事水下机器人(AUV)导航研究的技术人员、研究生以及对非线性滤波感兴趣的科研工作者。 使用场景及目标:①理解各种非线性滤波器的工作原理及其在水下定位中的具体应用;②评估不同滤波器在特定条件下的性能,以便为实际项目选择合适的滤波器;③掌握MATLAB实现非线性滤波器的方法和技术。 其他说明:文中提供了详细的MATLAB代码片段,帮助读者更好地理解和实现这些滤波器。此外,还讨论了数值稳定性问题和一些实用技巧,如Cholesky分解失败的处理方法。
VMware-workstation-full-14.1.3-9474260
DeepSeek系列-提示词工程和落地场景.pdf
javaSE阶段面试题
《综合布线施工技术》第5章-综合布线工程测试.ppt
安川机器人NX100使用说明书.pdf
内容概要:本文详细介绍了将M7120型平面磨床的传统继电器控制系统升级为基于西门子S7-1200 PLC的自动化控制系统的过程。主要内容涵盖IO分配、梯形图设计和组态画面实现。通过合理的IO分配,确保了系统的可靠性和可维护性;梯形图设计实现了主控制逻辑、砂轮升降控制和报警逻辑等功能;组态画面则提供了友好的人机交互界面,便于操作和监控。此次改造显著提高了设备的自动化水平、运行效率和可靠性,降低了维护成本。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是熟悉PLC编程和控制系统设计的专业人士。 使用场景及目标:适用于需要进行老旧设备升级改造的企业,旨在提高生产设备的自动化水平和可靠性,降低故障率和维护成本。具体应用场景包括但不限于金属加工行业中的平面磨床等设备的控制系统改造。 其他说明:文中还分享了一些实际调试中的经验和技巧,如急停逻辑的设计、信号抖动的处理方法等,有助于读者在类似项目中借鉴和应用。
chromedriver-linux64-136.0.7103.48.zip
IMG_20250421_180507.jpg
《网络营销策划实务》项目一-网络营销策划认知.ppt
Lianantech_Security-Vulnerabil_1744433229
MybatisCodeHelperNew2019.1-2023.1-3.4.1
【深度学习部署】基于Docker的BERT模型训练与API服务部署:实现代码复用与模型共享
摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装火车票订票系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,火车票订票系统的有效运用可以帮助管理人员准确快速地处理信息。 火车票订票系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现火车票订票系统的功能。其中管理员管理用户,新闻公告。 火车票订票系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,火车票订票系统都可以轻松应对。 关键词:火车票订票系统;SpringBoot框架,系统分析,数据库设计
【ABB机器人】-00标准保养简介.pdf
最新校园跑腿小程序源码 多校版本,多模块,适合跑腿,外卖,表白,二手,快递等校园服务 此版本为独立版本,不需要微擎 直接放入就可以 需要自己准备好后台的服务器,已认证的小程序,备案的域名!