- 浏览: 336847 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
wshsdlau:
very good!thank you!
Flex4重写组件TitleWindow(最大化、最小化、还原、关闭、拖动、缩放) -
毛广斌:
是病毒,会删除掉oracle数据库
jdk1.6中文帮助文档官方下载 -
bianjiang:
感谢楼主分享
Flex4重写组件TitleWindow(最大化、最小化、还原、关闭、拖动、缩放) -
a25765339:
jdk1.6中文帮助文档官方下载 -
huachongwei:
正需要,谢谢
Flex4重写组件TitleWindow(最大化、最小化、还原、关闭、拖动、缩放)
在网上看到一个网友做得FLEX练习:http://myqiao.oxyhost.com/flex/,很不错。特别是关于分页留言板的小练习,我详细看了看,有很多学习的地方。特在此记录一下,为以后用的着做准备。
这个练习底层是用PHP做得,通讯用的是HTTPSERVICE,不过底层他没公布,那就学习上层FLEX吧。主要是分页的flex实现:
他主要使用组件来完成嵌套,像NavBar.mxml
NavBar.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" verticalAlign="middle" xmlns:local="*"> <mx:Script> <![CDATA[ //page_no 从 0 开始计数 private var current_no:int; //page_count 从 0 开始计数 private var page_count:int; private var nav_callback:Function = function (url:String):void; private var new_callback:Function = function ():void; //设置导航条的 当前页号 和 各页号的Url 和 点击导航按钮的回调函数 public function setButtons(current_no:int,page_count:int,nav_back:Function,new_callback:Function):void { if(current_no>page_count) throw (new Error("当前页超出范围")); this.current_no=current_no; this.page_count=page_count; this.nav_callback=nav_back; prio_btn.click_callback=nav_callback; next_btn.click_callback=nav_callback; this.new_callback=new_callback; page_nav_box.removeAllChildren(); makeBar(); } private function onNew():void { new_callback(); } //num 从零开始计数 private function addNumberButton(num:int):void //生成按钮并添加到page_nav_box中 { var btn:NavButton=new NavButton(); btn.setNumber(num); btn.click_callback=nav_callback; if(num ==current_no) btn.setCurrent(true); //设置按钮是不是可点击 else btn.setCurrent(false); page_nav_box.addChild(btn); } private function makeBar():void { var i:int; var btn:NavButton; if(page_count>5)//页面数大于五 6 7 8 ... { if(current_no<3)//当前页号为 0 1 2 { //显示最前面五个 for(i=0;i<5;i++) addNumberButton(i); page_nav_box.addChild(new DotLabel()); //添加省略号,这个以前真不知道 addNumberButton(page_count); //添加最后一个 } else if(current_no>(page_count-3))//当前页号为 page_count page_count-1 page_count-2 { addNumberButton(0);//添加第一页 page_nav_box.addChild(new DotLabel()); //添加省略号 //显示最后面五个 for(i=page_count-4;i<page_count+1;i++) addNumberButton(i); } else // 2 < 当前页号 < length-3 { addNumberButton(0); if(current_no>3) //在第4页的时候怎么没显示省略号呢?因为它是从0开始的 page_nav_box.addChild(new DotLabel()); //添加省略号 for(i=current_no-2;i<current_no+3;i++) //中间显示五个 addNumberButton(i); if(current_no<(page_count-3)) page_nav_box.addChild(new DotLabel()); addNumberButton(page_count); } } else { for(i=0;i<page_count+1;i++) addNumberButton(i); } //设置上一页和下一页是不是可点击,可点击时的URL if(page_count==0) { prio_btn.enabled=false; next_btn.enabled=false; } else { //设置当前页按钮为 disable switch(current_no) { case 0: prio_btn.enabled=false; next_btn.enabled=true; next_btn.setNumber(current_no+1); break; case page_count: prio_btn.enabled=true; prio_btn.setNumber(current_no-1); next_btn.enabled=false; break; default: prio_btn.enabled=true; prio_btn.setNumber(current_no-1); next_btn.enabled=true; next_btn.setNumber(current_no+1); } } } ]]> </mx:Script> <mx:HBox width="100%" horizontalGap="0" verticalAlign="middle" backgroundColor="#FFFFFF"> <local:NavButton id="prio_btn" label="上一页" fontWeight="bold" fontSize="12" textDecoration="underline" color="#0000FF"/> <mx:HBox id="page_nav_box"/> <local:NavButton id="next_btn" label="下一页" textDecoration="underline" color="#0000FF" fontSize="12"/> <mx:Spacer width="100%"/> <mx:LinkButton label="我要留言" click="onNew()" fontSize="12" textDecoration="underline" color="#0000FF" icon="@Embed(source='../images/arrow.gif')"/> </mx:HBox> </mx:HBox>
每个按钮,也写成了一个组件:NavButton.mxml
NavButton.mxml:
<?xml version="1.0" encoding="utf-8"?> <mx:LinkButton xmlns:mx="http://www.adobe.com/2006/mxml" color="red" label="1" click="onClick()" > <mx:Script> <![CDATA[ private var url:String=""; private var call_back:Function = function (url:String):void; private function onClick():void { call_back(url); } public function set click_callback(value:Function):void { this.call_back=value; } public function setNumber(n:int):void //设置按钮的label和url { if((this.name!="prio_btn")&&(this.name!="next_btn")) this.label=(n+1).toString(); this.url=BBS.START_URL+n.toString(); } public function setCurrent(b:Boolean):void //设置按钮可点击与否 { this.enabled=!b; } ]]> </mx:Script> </mx:LinkButton>
效果如图:
发表评论
-
FLEXmadel模态窗口透明度设置
2011-10-21 11:53 1139在application中<fx:Style>里或 ... -
Flash/Flex监听浏览器的关闭事件(转)
2011-09-20 16:36 2968如果想用Flash/Flex监听浏览器的关闭事件, 可以通过 ... -
FLEX4样式 (转)
2011-05-31 21:01 13311. 同一控件多样式的设置 在Css文件中定义下面 ... -
Flex4重写组件TitleWindow(最大化、最小化、还原、关闭、拖动、缩放)
2011-05-26 16:52 7446根据9ria的flex3版本 自定义TitleWindow-最 ... -
an internal build error has occurred Flex查看错误日志
2011-03-10 10:26 2104解决方法很简单,按如下步骤: Help > Produ ... -
Flex与Javascript互相通信(转)
2010-02-20 14:26 889在Flex中有这么一个类:ExternalInterface. ... -
Flex从弹出窗口中取回值(转,不过这个有点意思)
2010-02-10 10:38 1812//应用程序窗口 Main.mxml<?xml ve ... -
flex打印要注意的问题
2010-02-05 14:10 2516最近做FLEX打印,被整得焦头烂额。想着打印共用一个组件,可是 ... -
flex下的自动完成输入框(autocomplete input
2010-01-08 16:33 2404在网上看到了这篇文章,感觉很好,特此记录。 转自:http: ... -
Flex Builder绿色安装方法
2009-12-21 14:50 1939Flex Builder绿色安装方法 ... -
flex——ToolTip学习
2009-11-26 18:10 4739这里详细讲解了ToolTip的用法 http://blog. ... -
flex(String)字符串处理
2009-10-22 16:39 2697String类提供indexOf和lastIndexOf两个方 ... -
TabNavigator_ScrollableMenu强大的TabNavigator
2009-10-22 14:47 3263看到一个老外07年写的一个组件:TabNavigator_Sc ... -
flex——datagrid中的wordWrap设置为True,有时不起作用
2009-08-27 17:04 2913datagrid中的wordWrap设置为True,有时不起作 ... -
flex——双击datagrid编辑、验证、保存
2009-08-05 17:50 13800DataGrid默认是单击修改,太不方便。根据http://b ... -
flex——DataGrid中的固定序号
2009-08-05 13:46 4277在Datagrid中利用labelFunction来显示固定序 ... -
初始化flex时,组件自动获得焦点
2009-07-03 10:11 5779都知道在flex页面中设置焦点是:application.fo ... -
PopUpButton结合Menu的二级菜单
2009-06-16 17:42 1771和 请注意:行数是单选,所以数据源为:type=" ... -
as3读取xml文件
2009-06-12 15:37 3707root.xml: <?xml version=&qu ... -
DataGridColumn中labelFunction的用法
2009-06-09 15:48 5365帮助文档: labelFunction 属性 ...
相关推荐
在这个项目中,留言板的留言可能会很多,分页确保用户可以逐页查看,减轻服务器压力。 5. **伪静态技术**: 伪静态是一种将动态URL转化为静态或近似静态的URL的技术,目的是为了提高搜索引擎优化(SEO)和用户体验。...
【jsp+xml留言板(带分页)】是一个基于Java、XML和JSP技术实现的互动式留言板系统,具备基本的留言功能以及分页显示留言的能力。这个项目主要展示了如何利用Java来处理XML文件,实现了对XML数据的CRUD(创建、读取...
学习ASP留言板的简单分页技术和验证登录,不仅可以提升你的编程技能,也是迈向更复杂Web应用的第一步。理解这些基础概念后,你可以逐步学习更多的ASP特性,如自定义函数、错误处理、数据库操作等,进一步提升你的Web...
【标题】"11_留言板_搜索_分页_php_" 提供的是一个基于PHP实现的留言板系统,该系统集成了后台管理框架、分页功能以及站内搜索功能。这是一个非常实用且具有教育意义的项目,适合初学者学习PHP编程以及网站开发实践...
在留言板功能上,它还支持UBB(UniformBulletin Board)代码,提供了一种简单的富文本编辑方式。 1. **JSP(JavaServer Pages)**:JSP是Java Web开发中的视图层技术,允许开发者将HTML、CSS和Java代码混合编写,...
这个“留言板设计”项目是一个综合性的学习和实践平台,涵盖了Web开发的基本技能,对于初学者来说,是一个很好的学习和提高的机会。通过这样的实践,可以提升对Web开发流程、前后端协作以及服务器端编程的理解。
这个压缩包中的“PHPWind_GBK_6.3RC”可能是一个名为PHPWind的论坛系统的GBK编码版本,它包含了创建和管理留言板所需的所有文件。PHPWind是一款知名的开源社区软件,而6.3RC可能是其6.3版本的Release Candidate...
本资料"2套分页模式留言板11-19"提供了一种实现分页功能的学习资源,旨在帮助开发者逐步掌握分页技术。 分页类与分页函数是实现分页功能的核心组件。分页类通常是一个封装了分页逻辑的对象,它可以负责计算页面数量...
【基于Flask的留言板Demo】是一个使用Python的Flask框架构建的应用程序,旨在提供一个简单的交互平台,允许用户留言、注册、登录和注销。在这个项目中,开发者利用Flask的强大功能,创建了一个用户友好的界面,实现...
为了优化用户体验,留言板通常不会一次性加载所有留言,而是采用分页方式。PHP计算出总页数,并生成相应的页码链接。当用户点击页码时,AJAX再次发送请求,获取指定页码的留言内容。 7. **数据库创建文件**: ...
如果留言板记录较多,可以考虑分页显示。计算总页数,设置每页显示的留言数量,根据用户选择的页码查询对应的数据。 7. **权限控制** 对于“管理员”和“用户”两种角色,可以实现不同的功能。例如,用户只能查看...
在留言板应用中,通常会根据数据库查询的结果动态生成分页链接,用户点击页码后,服务器会根据新的页码重新执行查询,返回对应页面的数据。 对于这个"asp.net留言板"项目,开发人员可能首先创建了一个SQL数据库表来...
【描述】:“留言板的java源代码留言板的java源代码留言板的java源代码留言板的java源代码留言板的java源代码留言板的java源代码” 描述中反复提到了“留言板的java源代码”,这强调了这是一个关于Java语言实现的...
在实际操作中,还可以进一步学习如何优化用户体验,例如添加分页功能、时间戳显示、表情支持等,从而提升留言板的实用性。 文件"liuyan"可能是留言板的实例数据,可能包含了已有的留言记录,供学习者参考和分析。在...
总结来说,这个压缩包提供了一个ASP.NET C#留言板的完整示例,对于想要学习或提升ASP.NET Web应用开发技能的开发者来说,是一份宝贵的资源。通过深入研究这个实例,可以了解到ASP.NET的Web Forms架构,C#编程技巧,...
【留言板系统设计与实现】 留言板系统是网络应用中常见的交互工具,它允许用户发布消息、评论,以及其他形式的互动。本资源提供了一个“漂亮的留言板”系统,其设计和实现注重用户体验,界面美观,操作简便。下面...
本资源包含的数据验证、分页以及留言板功能是JSP应用中的常见实践,下面将对这些知识点进行详细解析。 ### 数据验证 数据验证是任何Web应用程序不可或缺的一部分,确保用户输入的有效性和安全性。在JSP中,可以...
7. **分页技术**:如果留言板的留言数量较多,分页可以提高用户体验,通过PHP实现每页显示一定数量的留言。 8. **会话管理**:可选功能,用于识别和管理用户会话,如登录状态、防止重复提交等。 9. **错误处理与...
这是一个基于PHP的经典留言板系统,包含了后台管理框架、分页功能以及站内搜索模块。这个系统的设计和实现都具有原创性,对于初学者或者需要快速搭建简单互动平台的开发者来说,是一个很好的学习和实践资源。 首先...