- 浏览: 66903 次
- 性别:
- 来自: 南京
-
文章分类
最新评论
-
zero.peng:
能把源码发份给我吗,谢过了,964073580@qq.com
基于struts2和extjs的oa。。 -
windy0605:
lz 最近在做IM 源码提供参考下 谢了 hcydm_dl@1 ...
基于struts2和extjs的oa。。 -
织乐8:
toolTip没有显示出来嘛。
Flex实现画线(可拖拽、带箭头、可变色) -
dsjob:
学习学习学习学习学习学习学习学习学习学习
Flex实现画线(可拖拽、带箭头、可变色) -
benson0388:
benson0388@yahoo.com.cn
基于struts2和extjs的oa。。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:flexlib="http://code.google.com/p/flexlib/" creationComplete="init()" fontSize="12"> <mx:Script> <![CDATA[ import flexlib.controls.tabBarClasses.SuperTab; import flexlib.events.SuperTabEvent; import mx.containers.dividedBoxClasses.BoxDivider; import mx.controls.Alert; import mx.controls.Button; import mx.core.EventPriority; import mx.events.FlexEvent; private var tabMenu:ContextMenu; private var close_cur:String="关闭当前页"; private var close_other:String="关闭其他页"; private var close_all:String="关闭所有页"; private var closeTabItem:ContextMenuItem; private var closeOthersItem:ContextMenuItem; private var closeAllItem:ContextMenuItem; [Embed(source="assets/home.png")] private var home_icon:Class; [Embed(source="assets/app.png")] private var app_icon:Class; private function init():void{ this.initCompents(); this.addTabNavigator(); //延后执行 callLater(addTabMenu); this.addGuiListeners(); } //初始化某些组件 private function initCompents():void{ tabMenu = new ContextMenu(); closeTabItem = new ContextMenuItem(close_cur); closeOthersItem = new ContextMenuItem(close_other); closeAllItem = new ContextMenuItem(close_all); tabMenu.hideBuiltInItems(); tabMenu.customItems.push(closeTabItem); tabMenu.customItems.push(closeOthersItem); tabMenu.customItems.push(closeAllItem); //处理中间分隔条 var bdriver:BoxDivider=this.hdbox.getDividerAt(0); bdriver.doubleClickEnabled=true; bdriver.addEventListener(MouseEvent.DOUBLE_CLICK, maxsizeHandler); } //添加几个tab页 private function addTabNavigator():void{ for(var i:uint=0;i<5;i++ ){ var vbox:VBox=new VBox(); vbox.label="Tab"+i; if(i==0){ vbox.label="首页"; vbox.icon=home_icon; }else vbox.icon=app_icon; tabs.addChild(vbox); } } //给tab页添加菜单 private function addTabMenu():void{ //设置首页不可关闭 this.tabs.setClosePolicyForTab(0,SuperTab.CLOSE_NEVER); for(var i:uint=0;i<tabs.getChildren().length;i++){ var tabBtn:Button=tabs.getTabAt(i); //添加双击tab页事件监听 tabBtn.addEventListener(MouseEvent.DOUBLE_CLICK,maxsizeHandler); tabBtn.contextMenu=tabMenu; } } private function addGuiListeners():void{ closeTabItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,tabRightMenuHandler); closeOthersItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,tabRightMenuHandler); closeAllItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,tabRightMenuHandler); tabMenu.addEventListener(ContextMenuEvent.MENU_SELECT,tabMenuHandler); this.tabs.addEventListener(SuperTabEvent.TAB_CLOSE,closeSuperTabHandler); } //取消双击tab页事件的监听 private function closeSuperTabHandler(ev:SuperTabEvent):void{ var tabIdx:Number = ev.tabIndex; var tabBtn:Button=tabs.getTabAt(tabIdx); tabBtn.removeEventListener(MouseEvent.DOUBLE_CLICK,maxsizeHandler); } //最大化 private function maxsizeHandler(ev:Event):void{ if(this.leftBox.percentWidth==0){ this.leftBox.percentWidth=20; this.rightBox.percentWidth=80; }else{ this.leftBox.percentWidth=0; this.rightBox.percentWidth=100; } } //处理tab右键关闭事件 private function tabRightMenuHandler(ev:ContextMenuEvent):void{ var cap:String = (ev.target as ContextMenuItem).caption; var home:* = this.tabs.getChildAt(0); var idx:int; switch(cap){ case close_cur: idx = this.tabs.selectedIndex; if(idx >= 0) this.tabs.removeChildAt(idx); break; case close_other: var selected:* = this.tabs.selectedChild; for each(var cnt:* in this.tabs.getChildren()){ if(cnt != selected && cnt != home){ this.tabs.removeChild(cnt); } } break; case close_all: // this.tabs.removeAllChildren(); for each(var tab:* in this.tabs.getChildren()){ if(tab != home) this.tabs.removeChild(tab); } break; } } private function tabMenuHandler(ev:ContextMenuEvent):void{ var tag:DisplayObject=ev.mouseTarget as DisplayObject; var idx:uint=this.tabs.selectedIndex; if(tag){ //下面这句非常犀利,发送一个单击事件 tag.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); closeTabItem.visible = true; closeOthersItem.visible = true; closeAllItem.visible = true; if(idx==0) closeTabItem.enabled = false; else closeTabItem.enabled = true; if(this.tabs.numChildren==1 || (this.tabs.numChildren==2 && idx>0)) closeOthersItem.enabled = false; else closeOthersItem.enabled = true; if(this.tabs.numChildren==1 && idx==0) closeAllItem.enabled = false; else closeAllItem.enabled = true; return; } closeTabItem.visible = false; closeOthersItem.visible = false; closeAllItem.visible = false; } ]]> </mx:Script> <mx:VBox width="100%" height="100%"> <mx:Spacer height="20" /> <mx:HDividedBox id="hdbox" width="100%" height="80%" liveDragging="true"> <mx:VBox id="leftBox" width="20%" height="100%"> <mx:Tree width="100%" height="100%"/> </mx:VBox> <mx:VBox id="rightBox" width="80%" height="100%"> <flexlib:SuperTabNavigator id="tabs" width="100%" height="100%" creationPolicy="all" paddingTop="1"> </flexlib:SuperTabNavigator> </mx:VBox> </mx:HDividedBox> </mx:VBox> </mx:Application>
发表评论
-
Flex开门效果
2010-07-02 15:09 1216网上找的。。。。 -
Flex中字符串trim方法
2010-06-19 15:04 2441//去除左边空格 public st ... -
Flex实现多功能Mp3播放器
2010-06-07 18:59 1198功能描述 暂停/播放 停止 上一首 下一首 音量调 ... -
Flex进度条小例子
2010-06-05 15:24 2652效果图如下:自动根据值变化进度条的颜色。 ... -
Flex中的MVC框架---puremvc
2010-06-04 17:00 1075先上传个教程。 -
Flex dataGrid 自定义显示列
2010-05-27 19:09 1226效果图如下: ... -
Flex鼠标变手势状
2010-05-26 17:32 1251有时客户会提这样的需求,在某些地方点击时需要把鼠标变成手势形状 ... -
Flex总体框架的优化
2010-05-25 18:05 1243优化策略: 1、系统只有一个主应用程序Application ... -
关于Flex的垃圾回收和内存泄漏
2010-05-25 17:16 1907在Java中我们不必担心内 ... -
Flex动态加载类
2010-05-19 10:20 2474在Java中可以通过反射机制动态创建类,在Flex中同样可以根 ... -
Flex实现画线(可拖拽、带箭头、可变色)
2010-05-14 15:36 7472在前人的基础上改了改,不多说,看效果图,贴代码: ... -
Flex容器最大化
2010-05-12 10:20 1285若有左右布局的2个容器,左侧容器宽:20%,右侧容器宽:80% ... -
Flex中tree实现的种种细节
2010-05-07 15:50 2231需要解决的问题: 1、自定义节点icon图标 2、右键菜单 ... -
Flex 模块化 事件 国际化
2010-05-06 11:27 1418把最近的知识整理一下 Flex开发实现:模块化 ... -
Flex常用教程及库
2010-04-21 22:19 13591。google map 2。Cairngorm MV ...
相关推荐
在Flex开发中,TabNavigator组件是常用于创建带有选项卡的用户界面的工具。它允许用户在多个视图之间切换,每个视图对应一个选项卡。"flex TabNavigator tab倒置"这个标题可能指的是开发者想要实现一个特殊的布局,...
TabNavigator是Flex中的一个组件,用于构建带有多个选项卡的应用界面,每个选项卡可以承载不同的视图或功能模块。这个例子可能是为了展示如何在Flex3中有效地使用TabNavigator来组织和管理用户界面。 在Flex3中,...
接下来,在你的Flex应用程序中,实例化TabNavigator并将其layout属性设置为刚刚创建的VerticalTabLayout类。这样,TabNavigator的标签就会按照垂直方向排列。 ```actionscript <mx:TabNavigator id=...
在Flex4.6中,`TabNavigator`是一个强大的组件,用于创建带有可切换选项卡的用户界面。这个组件允许用户通过点击不同的标签在多个视图之间进行导航,这对于组织大量内容或者提供多工作区的界面非常有用。在这个“带...
- Flex Builder或Flash Builder:这些是开发Flex应用的主要IDE,提供了图形界面设计工具和源代码编辑器,帮助开发者创建和调试TabNavigator。 - CSS编辑:可能需要使用CSS来调整TabNavigator的样式,如边框、背景...
在Flex3中,TabNavigator是一种容器控件,用于展示多个视图,并且这些视图可以通过标签页进行切换。TabNavigator的每个标签页通常关联一个ViewStack或其他容器,用于存放不同的内容。然而,标准的TabNavigator并不...
NULL 博文链接:https://toeo.iteye.com/blog/644341
这是一个封装好的flex项目,可以直接运行,TestTabNavigator.mxml是运行主页。里面定义了TabNavigator控件选中与被选中的皮肤类,皮肤类可以自己进行更改,也可以设置颜色渐变等等。希望对大家有帮助。
Flex4是Adobe Flex框架的一个版本,它基于ActionScript 3和Flash Player或Adobe AIR运行时,用于构建富互联网应用(RIA)和移动应用。AS3是Flex4的主要编程语言,提供了强大的面向对象特性。 在Flex4中,ActionBar...
第二到第五章可能深入到Flex组件库的使用,包括各种基本和高级组件,如Button、Label、TextInput、TextArea、List、Accordion、TabNavigator等。这些组件能够快速构建用户友好的交互界面。 第六至第十章可能会讲解...
在Flex应用中,为了提升用户体验,通常需要对TabNavigator的Tabs进行样式定制,使得它们更符合应用的风格和美观要求。 首先,设计思路是至关重要的,它决定了最终Tabs的样式。在Flex中,我们可以通过设置属性、添加...
在开发移动应用或者Web应用时,常常会使用到导航组件来组织不同的页面,其中TabNavigator是一种常见的导航方式,它在底部或顶部展示一系列标签,用户可以通过点击这些标签切换不同的页面。在React Native或React.js...
在这一章,你会接触到更复杂的Flex组件,比如DataGrid、Accordion和TabNavigator,以及如何自定义组件以满足特定需求。此外,还会介绍如何使用Layout Manager进行布局管理,以优化用户界面的显示效果。 第6章:图形...
Flex 3是Adobe公司开发的一款强大的富互联网应用程序(RIA)框架,主要用于构建具有高度交互性和动态视觉效果的Web应用。本篇文章将深入探讨Flex 3在企业级Web应用系统设计与实现中的关键技术和实践。 一、Flex 3...
此样本可能展示了如何使用Flex的TabNavigator组件创建带有多个标签页的应用。 10. **SQLiteSample.fxp**:SQLite是嵌入式数据库,常用于存储应用数据。这个样本可能包含了如何在Flex应用中使用SQLite数据库,进行...
5. **Flex组件**:Flex包含一系列预定义的UI组件,如Button、Label、Canvas、Accordion、TabNavigator等,这些组件可以帮助快速构建用户界面。 6. **数据绑定**:Flex支持数据绑定,这意味着UI组件的状态可以直接与...
这部分内容涵盖了Flex中高级组件的使用,如Accordion、TabNavigator等,以及如何通过Timeline、TransitionManager等工具创建平滑的动画效果。同时,章节还会讨论Flex的皮肤定制,以满足不同设计需求。 通过学习这四...
1. **组件皮肤**:Flex3中的每个UI组件,如Button、Slider、TabNavigator等,都有预定义的皮肤。这些皮肤由MXML或ActionScript3代码定义,包含组件的各个部分,如背景、边框、文本样式等。通过替换这些皮肤,可以...
3. **Flex组件库**:了解Flex提供的丰富组件库,如Button、TextInput、Label等基本UI元素,以及Canvas、Accordion、TabNavigator等高级组件,这些组件可以帮助快速构建复杂的用户界面。 4. **数据绑定**:熟悉Flex...