- 浏览: 308511 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (118)
- VS2008 (2)
- JAVA (34)
- AJAX (1)
- C# (1)
- Flex (16)
- FMS (6)
- SQLSERVER (1)
- ORACLE (1)
- Quartz (1)
- struts2 (1)
- java数据结构 (1)
- java设计模式 (3)
- JSF (0)
- web (2)
- jbpm4 (4)
- J2EE (1)
- webservice (2)
- javascript (8)
- spring (3)
- lucene (0)
- linux (9)
- ibatis (1)
- JPA (2)
- 外挂 (0)
- VB (0)
- Hibernate (1)
- OSGI (8)
- EXT (4)
- Maven (1)
- SpringSecurity (0)
- activiti (0)
- 项目开发 (0)
- 项目管理 (7)
- android (0)
- FFMPEG (1)
- C (2)
- eclipse (1)
最新评论
-
默默得守候在你的身边:
给力
java与Delphi写的dll交互 -
默默得守候在你的身边:
java与Delphi写的dll交互 -
fuguitong:
[url][url][url][url][url][url][ ...
doc转swf -
baidu_25402161:
到结束的时候一直 Can't delete processIn ...
一个请假单流程的实现(struts2.1.8+spring2.5+hibernate3集成jbpm4.3) -
lohaoo1:
nice!
java面包屑导航制作
只要是设计器就逃不脱对组件的动态调整。比如大小,位置是最常见的。
在flashBuilder中可以看到下面效果图:
在此简单实现,更多细节不予考虑,有点伤到我的神经了,总体设计思路图:
由resizeUI完成核心功能。
ResizeContainer容器类:
package org.forever.view { import flash.events.MouseEvent; import mx.collections.ArrayList; import mx.core.IUIComponent; import spark.components.SkinnableContainer; /**容器类*/ public class ResizeContainer { private var _app_container:SkinnableContainer; private var _current_resizeUI:ResizeUI; private var _resizeUIList:ArrayList; public function get mouseMoveCallFun():Function { return _mouseMoveCallFun; } public function set mouseMoveCallFun(value:Function):void { _mouseMoveCallFun = value; } private var _mouseMoveCallFun:Function; public function ResizeContainer(app_container:SkinnableContainer){ _app_container = app_container; initContainer(); _resizeUIList = new ArrayList(); } public function get current_resizeUI():ResizeUI { return _current_resizeUI; } public function set current_resizeUI(value:ResizeUI):void { if(null!=_current_resizeUI){ _current_resizeUI.hideResizeUI(); } _current_resizeUI = value; } public function register(uicomp:IUIComponent):void{ var _resizeUI:ResizeUI = new ResizeUI(uicomp,_app_container); _resizeUI.resizeContainer = this; _resizeUIList.addItem(_resizeUI); } public function initContainer():void{ _app_container.addEventListener(MouseEvent.MOUSE_DOWN,appContainerMouseDownHandler); _app_container.addEventListener(MouseEvent.MOUSE_MOVE,appContainerMouseMoveHandler); _app_container.addEventListener(MouseEvent.MOUSE_UP,appContainerMouseUpHandler); } public function appContainerMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); if(null!=_current_resizeUI){ _current_resizeUI.hideResizeUI(); } } public function appContainerMouseMoveHandler(event:MouseEvent):void{ if(null != _mouseMoveCallFun){ _mouseMoveCallFun(event); } } public function appContainerMouseUpHandler(event:MouseEvent):void{ if(null != _mouseMoveCallFun){ _mouseMoveCallFun = null; if(null!=_current_resizeUI)_current_resizeUI.updateUIComp(); } } } }
ResizeUI调整类:
package org.forever.view { import flash.display.DisplayObject; import flash.display.MorphShape; import flash.events.MouseEvent; import flash.ui.Mouse; import mx.controls.Alert; import mx.controls.Image; import mx.core.IUIComponent; import mx.core.IVisualElement; import mx.core.UIComponent; import mx.graphics.SolidColorStroke; import mx.logging.ILogger; import mx.logging.Log; import mx.managers.CursorManager; import spark.components.BorderContainer; import spark.components.SkinnableContainer; import spark.components.mediaClasses.VolumeBar; import spark.primitives.Line; /** *调整UI组件的一个类,类似在flashBuilder对组件的一个调整功能 */ public class ResizeUI{ private var _resizeContainer:ResizeContainer; private static var _log:ILogger = Log.getLogger("org.forever.report.view.ResizeUI"); private var _uiComp:IUIComponent; private var _container:SkinnableContainer; private var _centerRect:BorderContainer; private var _leftTopRect:BorderContainer; private var _rightTopRect:BorderContainer; private var _leftBottomRect:BorderContainer; private var _rightBottomRect:BorderContainer; private var _topCenterRect:BorderContainer; private var _leftCenterRect:BorderContainer; private var _bottomCenterRect:BorderContainer; private var _rightCenterRect:BorderContainer; private var _leftTopTopCenterLine:Line; private var _topCenterRightTopLine:Line; private var _leftTopLeftCenterLine:Line; private var _leftCenterLeftBottomLine:Line; private var _leftBottomBottomCenterLine:Line; private var _bottomCenterRightBottomLine:Line; private var _rightCenterRightBottomLine:Line; private var _rightTopRightCenterLine:Line; private var _rect_w:Number = 6; private var _startMove:Boolean = false; private var _moving:Boolean = false; public function get resizeContainer():ResizeContainer { return _resizeContainer; } public function set resizeContainer(value:ResizeContainer):void { _resizeContainer = value; } /**初始化中间矩形*/ public function initCenterRect():void{ _centerRect = new BorderContainer(); _centerRect.setStyle("borderColor","ffffff"); _centerRect.alpha = 1; _centerRect.visible = false; _container.addElement(_centerRect); } /**初始化所有矩形*/ public function initAllRectProp():void{ _leftTopRect = new BorderContainer(); _rightTopRect = new BorderContainer(); _leftBottomRect = new BorderContainer(); _rightBottomRect = new BorderContainer(); _topCenterRect = new BorderContainer(); _leftCenterRect = new BorderContainer(); _bottomCenterRect = new BorderContainer(); _rightCenterRect = new BorderContainer(); initRectProp(_leftTopRect); initRectProp(_rightTopRect); initRectProp(_leftBottomRect); initRectProp(_rightBottomRect); initRectProp(_topCenterRect); initRectProp(_leftCenterRect); initRectProp(_bottomCenterRect); initRectProp(_rightCenterRect); } /**初始化所有线条*/ public function initAllLine():void{ _leftTopTopCenterLine = new Line(); _leftTopTopCenterLine.stroke = new SolidColorStroke(0x70b2ee); _topCenterRightTopLine = new Line(); _topCenterRightTopLine.stroke = new SolidColorStroke(0x70b2ee); _leftTopLeftCenterLine = new Line(); _leftTopLeftCenterLine.stroke = new SolidColorStroke(0x70b2ee); _leftCenterLeftBottomLine = new Line(); _leftCenterLeftBottomLine.stroke = new SolidColorStroke(0x70b2ee); _leftBottomBottomCenterLine = new Line(); _leftBottomBottomCenterLine.stroke = new SolidColorStroke(0x70b2ee); _bottomCenterRightBottomLine = new Line(); _bottomCenterRightBottomLine.stroke = new SolidColorStroke(0x70b2ee); _rightCenterRightBottomLine = new Line(); _rightCenterRightBottomLine.stroke = new SolidColorStroke(0x70b2ee); _rightTopRightCenterLine = new Line(); _rightTopRightCenterLine.stroke = new SolidColorStroke(0x70b2ee); _container.addElement(_leftTopTopCenterLine); _container.addElement(_topCenterRightTopLine); _container.addElement(_leftTopLeftCenterLine); _container.addElement(_leftCenterLeftBottomLine); _container.addElement(_leftBottomBottomCenterLine); _container.addElement(_bottomCenterRightBottomLine); _container.addElement(_rightCenterRightBottomLine); _container.addElement(_rightTopRightCenterLine); } public function ResizeUI(uiComp:IUIComponent,container:SkinnableContainer){ _uiComp = uiComp; _container = container; initCenterRect(); initAllRectProp(); updateCenterRect(); initAllLine(); _uiComp.addEventListener(MouseEvent.MOUSE_DOWN,uiCompMouseDownHandler); _uiComp.addEventListener(MouseEvent.MOUSE_MOVE,uiCompMouseMoveHandler); _uiComp.addEventListener(MouseEvent.MOUSE_UP,uiCompMouseUpHandler); _centerRect.addEventListener(MouseEvent.MOUSE_UP,centerRectMouseUpHandler); _centerRect.addEventListener(MouseEvent.MOUSE_MOVE,centerRectMouseMoveHandler); _rightCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,rightCenterMouseDownHandler); _topCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,topCenterRectMouseDownHandler); _bottomCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,bottomCenterRectMouseDownHandler); _leftCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,leftCenterRectMouseDownHandler); _rightTopRect.addEventListener(MouseEvent.MOUSE_DOWN,rightTopRectMouseDownHandler); _rightBottomRect.addEventListener(MouseEvent.MOUSE_DOWN,rightBottomRectMouseDownHandler); _leftTopRect.addEventListener(MouseEvent.MOUSE_DOWN,leftTopRectMouseDownHandler); _leftBottomRect.addEventListener(MouseEvent.MOUSE_DOWN,leftBottomRectMouseDownHandler); } public function uiCompMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.current_resizeUI = this; _startMove = true;//点击组件做移动准备 _moving = false;//并未真正移动 _log.debug("_centerRect准备开始移动......"); updateCenterRect(); showResizeUI(); } public function updateUIComp():void{ _uiComp.x = _leftTopRect.x + _leftTopRect.width; _uiComp.y = _leftTopRect.y + _leftTopRect.height; _uiComp.width = _rightTopRect.x - _leftTopRect.x - _leftTopRect.width; _uiComp.height = _leftBottomRect.y - _leftTopRect.y - _leftTopRect.height; _log.debug("updateUIComp........."); updateCenterRect(); } public function updateCenterRect():void{ _centerRect.x = _uiComp.x; _centerRect.y = _uiComp.y; _centerRect.width = _uiComp.width; _centerRect.height = _uiComp.height; _log.debug("updateCenterRect....."); } public function uiCompMouseMoveHandler(event:MouseEvent):void{ if(_startMove && !_moving){ _uiComp.visible = false; _centerRect.visible = true; _centerRect.startDrag(); _moving = true; _log.debug("_centerRect开始移动......"); } } public function centerRectMouseMoveHandler(event:MouseEvent):void{ refreshResizeUI(); } public function centerRectMouseUpHandler(event:MouseEvent):void{ stopCenterRectMove(); refreshResizeUI(); } public function stopCenterRectMove():void{ _startMove = false; _moving = false; _centerRect.stopDrag(); _uiComp.x = _centerRect.x; _uiComp.y = _centerRect.y; _uiComp.visible = true; _centerRect.visible = false; _log.debug("停止_centerRect的移动........"); } public function uiCompMouseUpHandler(event:MouseEvent):void{ stopCenterRectMove(); } public function rightCenterMouseOverHandler(event:MouseEvent):void{ Mouse.hide(); } public function rightCenterMouseOutHandler(event:MouseEvent):void{ Mouse.show(); } public function leftBottomRectMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateLeftBottomRectCall; } public function updateLeftBottomRectCall(event:MouseEvent):void{ updateLeftCenterRectCall(event); updateBottomCenterRectCall(event); } public function leftTopRectMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateLeftTopRectCall; } public function updateLeftTopRectCall(event:MouseEvent):void{ updateTopCenterRectCall(event); updateLeftCenterRectCall(event); } public function rightBottomRectMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateRightBottomRectCall; } public function updateRightBottomRectCall(event:MouseEvent):void{ updateRightCenterRectCall(event); updateBottomCenterRectCall(event); } public function rightTopRectMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateRightTopRectCall; } public function updateRightTopRectCall(event:MouseEvent):void{ updateRightCenterRectCall(event); updateTopCenterRectCall(event); } public function leftCenterRectMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateLeftCenterRectCall; } public function updateLeftCenterRectCall(event:MouseEvent):void{ _leftCenterRect.x = _container.mouseX; _leftTopRect.x = _leftCenterRect.x; _leftBottomRect.x = _leftCenterRect.x; updateLeftTopLeftCenterLine(); updateLeftCenterLeftBottomLine(); updateLeftTopTopCenterLine(); updateLeftBottomBottomCenterLine(); updateTopCenterRect(); updateBottomCenterRect(); updateTopCenterRightTopLine(); updateBottomCenterRightBottomLine(); } public function bottomCenterRectMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateBottomCenterRectCall; } public function updateBottomCenterRectCall(event:MouseEvent):void{ _bottomCenterRect.y = _container.mouseY; _leftBottomRect.y = _bottomCenterRect.y; _rightBottomRect.y = _bottomCenterRect.y; updateLeftBottomBottomCenterLine(); updateBottomCenterRightBottomLine(); updateLeftCenterLeftBottomLine(); updateRightCenterRightBottomLine(); updateLeftCenterRect(); updateRightCenterRect(); updateLeftTopLeftCenterLine(); updateRightTopRightCenterLine(); } public function topCenterRectMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateTopCenterRectCall; } public function updateTopCenterRectCall(event:MouseEvent):void{ _topCenterRect.y = _container.mouseY; _leftTopRect.y = _topCenterRect.y; _rightTopRect.y = _topCenterRect.y; updateLeftTopTopCenterLine(); updateTopCenterRightTopLine(); updateLeftTopLeftCenterLine(); updateRightTopRightCenterLine(); updateLeftCenterRect(); updateRightCenterRect(); updateLeftCenterLeftBottomLine(); updateRightCenterRightBottomLine(); } public function rightCenterMouseDownHandler(event:MouseEvent):void{ event.stopImmediatePropagation(); _resizeContainer.mouseMoveCallFun = updateRightCenterRectCall; } public function updateRightCenterRectCall(event:MouseEvent):void{ _rightCenterRect.x = _container.mouseX; _rightTopRect.x = _rightCenterRect.x; _rightBottomRect.x = _rightCenterRect.x; updateRightTopRightCenterLine(); updateRightCenterRightBottomLine(); updateTopCenterRightTopLine(); updateBottomCenterRightBottomLine(); updateTopCenterRect(); updateBottomCenterRect(); updateLeftBottomBottomCenterLine(); updateLeftTopTopCenterLine(); } public function updateRightCenterRect():void{ _rightCenterRect.y = (_rightTopRect.y + _rightBottomRect.y)/2; } public function updateLeftCenterRect():void{ _leftCenterRect.y = (_leftTopRect.y + _leftBottomRect.y)/2; } public function updateTopCenterRect():void{ _topCenterRect.x = (_leftTopTopCenterLine.xFrom + _topCenterRightTopLine.xTo)/2; } public function updateBottomCenterRect():void{ _bottomCenterRect.x = (_leftBottomBottomCenterLine.xFrom + _bottomCenterRightBottomLine.xTo)/2; } public function initRectProp(_rect:BorderContainer):void{ _rect.width = _rect_w; _rect.height = _rect_w; _rect.visible = false; _rect.setStyle("borderColor","#70B2EE"); _container.addElement(_rect); } public function refreshResizeUI():void{ _leftTopRect.x = _centerRect.x-_leftTopRect.width; _leftTopRect.y = _centerRect.y -_leftTopRect.height; _rightTopRect.x = _centerRect.x + _centerRect.width; _rightTopRect.y = _centerRect.y - _leftBottomRect.height; _leftBottomRect.x = _centerRect.x-_leftBottomRect.width; _leftBottomRect.y = _centerRect.y + _centerRect.height; _rightBottomRect.x = _centerRect.x + _centerRect.width; _rightBottomRect.y = _centerRect.y + _centerRect.height; _topCenterRect.x = _centerRect.x + _centerRect.width/2 -_topCenterRect.width/2 ; _topCenterRect.y = _centerRect.y - _topCenterRect.height; _leftCenterRect.x = _centerRect.x - _leftCenterRect.width; _leftCenterRect.y = _centerRect.y + _centerRect.height/2 - _leftCenterRect.height/2; _bottomCenterRect.x =_centerRect.x + _centerRect.width/2 -_topCenterRect.width/2 ; _bottomCenterRect.y = _centerRect.y + _centerRect.height; _rightCenterRect.x = _centerRect.x + _centerRect.width; _rightCenterRect.y = _centerRect.y + _centerRect.height/2 - _leftCenterRect.height/2; showAllRect(); updateLeftTopTopCenterLine(); updateBottomCenterRightBottomLine(); updateLeftBottomBottomCenterLine(); updateLeftCenterLeftBottomLine(); updateLeftTopLeftCenterLine(); updateTopCenterRightTopLine(); updateRightCenterRightBottomLine(); updateRightTopRightCenterLine(); _log.debug("refreshResizeUI............"); } public function showAllRect():void{ _leftTopRect.visible = true; _rightTopRect.visible = true; _leftBottomRect.visible = true; _rightBottomRect.visible = true; _topCenterRect.visible = true; _leftCenterRect.visible = true; _bottomCenterRect.visible = true; _rightCenterRect.visible = true; } public function hideResizeUI():void{ hideAllRect(); hideAllLine(); } public function showAllLine():void{ _leftTopTopCenterLine.visible = true; _topCenterRightTopLine.visible = true; _leftTopLeftCenterLine.visible = true; _leftCenterLeftBottomLine.visible = true; _leftBottomBottomCenterLine.visible = true; _bottomCenterRightBottomLine.visible = true; _rightCenterRightBottomLine.visible = true; _rightTopRightCenterLine.visible = true; } public function hideAllLine():void{ _leftTopTopCenterLine.visible = false; _topCenterRightTopLine.visible = false; _leftTopLeftCenterLine.visible = false; _leftCenterLeftBottomLine.visible = false; _leftBottomBottomCenterLine.visible = false; _bottomCenterRightBottomLine.visible = false; _rightCenterRightBottomLine.visible = false; _rightTopRightCenterLine.visible = false; } public function hideAllRect():void{ _leftTopRect.visible = false; _rightTopRect.visible = false; _leftBottomRect.visible = false; _rightBottomRect.visible = false; _topCenterRect.visible = false; _leftCenterRect.visible = false; _bottomCenterRect.visible = false; _rightCenterRect.visible = false; } /**显示所有辅助组件拖动的矩形框*/ public function showResizeUI():void{ _leftTopRect.x = _uiComp.x-_leftTopRect.width; _leftTopRect.y = _uiComp.y -_leftTopRect.height; _rightTopRect.x = _uiComp.x + _uiComp.width; _rightTopRect.y = _uiComp.y - _leftBottomRect.height; _leftBottomRect.x = _uiComp.x-_leftBottomRect.width; _leftBottomRect.y = _uiComp.y + _uiComp.height; _rightBottomRect.x = _uiComp.x + _uiComp.width; _rightBottomRect.y = _uiComp.y + _uiComp.height; _topCenterRect.x = _uiComp.x + _uiComp.width/2 -_topCenterRect.width/2 ; _topCenterRect.y = _uiComp.y - _topCenterRect.height; _leftCenterRect.x = _uiComp.x - _leftCenterRect.width; _leftCenterRect.y = _uiComp.y + _uiComp.height/2 - _leftCenterRect.height/2; _bottomCenterRect.x =_uiComp.x + _uiComp.width/2 -_topCenterRect.width/2 ; _bottomCenterRect.y = _uiComp.y + _uiComp.height; _rightCenterRect.x = _uiComp.x + _uiComp.width; _rightCenterRect.y = _uiComp.y + _uiComp.height/2 - _leftCenterRect.height/2; showAllRect(); updateLeftTopTopCenterLine(); updateBottomCenterRightBottomLine(); updateLeftBottomBottomCenterLine(); updateLeftCenterLeftBottomLine(); updateLeftTopLeftCenterLine(); updateTopCenterRightTopLine(); updateRightCenterRightBottomLine(); updateRightTopRightCenterLine(); showAllLine(); _log.debug("showResizeUI............"); } public function updateLeftTopTopCenterLine():void{ _leftTopTopCenterLine.xFrom = _leftTopRect.x+_leftTopRect.width; _leftTopTopCenterLine.yFrom = _leftTopRect.y+_leftTopRect.height/2; _leftTopTopCenterLine.xTo = _topCenterRect.x; _leftTopTopCenterLine.yTo = _topCenterRect.y+_leftTopRect.height/2; } public function updateBottomCenterRightBottomLine():void{ _bottomCenterRightBottomLine.xFrom = _bottomCenterRect.x + _bottomCenterRect.width; _bottomCenterRightBottomLine.yFrom = _bottomCenterRect.y + _bottomCenterRect.height/2; _bottomCenterRightBottomLine.xTo = _rightBottomRect.x; _bottomCenterRightBottomLine.yTo = _rightBottomRect.y + _rightBottomRect.height/2; } public function updateLeftBottomBottomCenterLine():void{ _leftBottomBottomCenterLine.xFrom = _leftBottomRect.x + _leftBottomRect.width; _leftBottomBottomCenterLine.yFrom = _leftBottomRect.y + _leftBottomRect.height/2; _leftBottomBottomCenterLine.xTo = _bottomCenterRect.x; _leftBottomBottomCenterLine.yTo = _bottomCenterRect.y + _bottomCenterRect.height/2; } public function updateLeftCenterLeftBottomLine():void{ _leftCenterLeftBottomLine.xFrom = _leftCenterRect.x + _leftCenterRect.width/2; _leftCenterLeftBottomLine.yFrom = _leftCenterRect.y + _leftCenterRect.height; _leftCenterLeftBottomLine.xTo = _leftBottomRect.x + _leftBottomRect.width/2; _leftCenterLeftBottomLine.yTo = _leftBottomRect.y; } public function updateLeftTopLeftCenterLine():void{ _leftTopLeftCenterLine.xFrom = _leftTopRect.x + _leftTopRect.width/2; _leftTopLeftCenterLine.yFrom = _leftTopRect.y + _leftTopRect.height; _leftTopLeftCenterLine.xTo = _leftCenterRect.x + _leftCenterRect.width/2; _leftTopLeftCenterLine.yTo = _leftCenterRect.y; } public function updateTopCenterRightTopLine():void{ _topCenterRightTopLine.xFrom = _topCenterRect.x+_topCenterRect.width; _topCenterRightTopLine.yFrom = _topCenterRect.y+_topCenterRect.height/2; _topCenterRightTopLine.xTo = _rightTopRect.x; _topCenterRightTopLine.yTo = _rightTopRect.y+_rightTopRect.height/2; } public function updateRightCenterRightBottomLine():void{ _rightCenterRightBottomLine.xFrom = _rightCenterRect.x + _rightCenterRect.width/2; _rightCenterRightBottomLine.yFrom = _rightCenterRect.y + _rightCenterRect.height; _rightCenterRightBottomLine.xTo = _rightBottomRect.x + _rightBottomRect.width/2; _rightCenterRightBottomLine.yTo = _rightBottomRect.y; } public function updateRightTopRightCenterLine():void{ _rightTopRightCenterLine.xFrom = _rightTopRect.x + _rightTopRect.width/2; _rightTopRightCenterLine.yFrom = _rightTopRect.y + _rightTopRect.height; _rightTopRightCenterLine.xTo = _rightCenterRect.x + _rightCenterRect.width/2; _rightTopRightCenterLine.yTo = _rightCenterRect.y; } } }
简单日志类LogUtil:
package org.forever.log { import mx.logging.Log; import mx.logging.LogEventLevel; import mx.logging.targets.TraceTarget; public class LogUtil { public function LogUtil() { } public static function initLogging():void { var logTarget:TraceTarget = new TraceTarget(); logTarget.filters=["*"]; logTarget.level = LogEventLevel.ALL; logTarget.includeDate = true; logTarget.includeTime = true; logTarget.includeCategory = true; logTarget.includeLevel = true; /* Begin logging. */ Log.addTarget(logTarget); } } }
例子类ResizeUIDemo.mxml:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()"> <fx:Script> <![CDATA[ import org.forever.log.LogUtil; import org.forever.view.ResizeContainer; import org.forever.view.ResizeUI; public function init():void{ LogUtil.initLogging(); var _resizeContainer:ResizeContainer = new ResizeContainer(this); _resizeContainer.register(btn_1); _resizeContainer.register(btn_2); _resizeContainer.register(bc); _resizeContainer.register(lbl); } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <s:Button id="btn_1" x="282" y="125" label="按钮_1"/> <s:Button id="btn_2" x="71" y="214" label="按钮_2"/> <s:BorderContainer id="bc" x="111" y="77" width="85" height="69" backgroundColor="#75FA51"> </s:BorderContainer> <s:Label x="27" y="10" text="点击下面组件进行拖放或者调整大小" width="200" height="24" verticalAlign="middle"/> <s:Label id="lbl" x="224" y="223" text="标签组件"/> </s:Application>
效果图:
有时间在继续写了。累了。
发表评论
-
flex折线的实现
2011-10-02 20:40 3369用到的有三个类,BrokenLine.as,BrokenLin ... -
flex标尺的实现
2011-08-28 21:49 2212效果图: 组件类: package org.for ... -
flex设计器功能拆分之二(撤销与恢复)
2011-03-16 22:01 2553撤销与恢复主要用到了 ... -
flex4与JavaScript交互
2010-11-06 09:10 3035利用flex来开发程序很快,有时难免会和js交互. flex ... -
flex表格设计器
2010-07-17 19:30 5118未完,开发中...... 记录每次修改过程。 第一次开发, ... -
flex折线的实现
2010-06-10 17:17 2388看效果: 可以无限折: 带源码,欢迎交流 请查看htt ... -
flex视频播放器
2010-05-13 07:46 0wwew -
flex_java文件上传(一)
2010-05-09 22:34 1797功能如下: 能够批量上传勾上的文件,能够批量删除指定的文件 ... -
flex4正式版注册号
2010-04-10 21:54 1573网上找的,可以用 C:\WINDOWS\system32\d ... -
Chart之PieChart简单应用
2010-04-04 12:13 7172效果图: 功能:能够修改指定国家的获奖信息,能够指定要显示 ... -
Chart之ColumnChart简单应用
2010-04-04 10:03 2492效果图: 代码: <?xml version=&q ... -
flex4视频教程
2010-03-29 09:48 0http://you.video.sina.com.cn/vl ... -
flex视音频通讯-摄像头及麦克风检测
2010-03-29 09:44 927flex视音频通讯-摄像头及麦克风检测 <mx: ... -
在线中文api
2010-03-25 18:17 1532flex4注册码:1424-4008-9664-3602-34 ... -
flex框架集合
2010-02-27 09:10 10641月17日 Flex开源框架汇总 Cairngorm ... -
BlazeDS的初步使用
2009-11-26 11:30 2442刚接触这东西的时候去网上了解了哈,BlazeDS用于flex和 ... -
datagrid 嵌套单选按钮互斥方法
2009-11-24 11:20 1805在一次使用datagrid的时候,嵌入了单选按钮组件: 突 ...
相关推荐
在Flex设计器中,这一功能同样得到了充分的实现,使得开发者可以更加灵活地管理和调整他们的代码和设计。 撤销功能(通常通过快捷键Ctrl+Z触发)允许用户取消最近的一次操作,如删除、移动或修改元素。这对于尝试...
Flex中的布局管理器能够自动调整组件的位置和大小,以适应不同的屏幕尺寸和分辨率。常见的布局有垂直布局、水平布局、网格布局等,可以根据应用需求选择合适的布局。 5. 数据绑定与AMF Flex支持双向数据绑定,允许...
模块在Flex中是指一组相关的组件、服务或功能,它们被封装在一个单独的SWF文件中,可以在运行时动态加载和卸载。这样,开发者可以将一个大的应用程序拆分成多个模块,每个模块专注于特定的功能区域。 2. **模块的...
同时,Flex的模块化设计允许你将大型应用拆分为多个独立的模块,以提高加载速度和维护性。 总的来说,Flex编程入门教程将帮助你掌握如何使用Flex Builder 3创建、设计和实现富互联网应用程序。通过学习和实践,你将...
通过分析这些文件,我们可以学习如何组织一个Flex4项目,理解其构建过程,并研究如何将Flex3的组件和设计模式迁移到Flex4。对于初学者来说,这是一个很好的实践案例,可以深入理解Flex4的新特性和最佳实践。
它允许将页面拆分为多个组件,每个组件可以独立设计和重用。 5. **i18n(国际化)**:通过提供不同语言的资源文件,i18n使应用程序能够支持多种语言。在`web.xml`中配置`ResourceBundle`,并使用`<resource-bundle>...
《Flex 3 RIA开发详解与精深实践——企业级Web应用与AIR桌面应用》一书深入探讨了Flex 3在实际项目中的应用,涵盖了从基础到高级的各种技术,包括组件设计、数据绑定、服务集成、动画效果以及Adobe AIR的桌面应用...
《FLEX从入门到精通(中文高清版)》是一本专为初学者设计的全面教程,旨在帮助读者快速掌握Adobe Flex这一强大的富互联网应用程序(RIA)开发框架。Flex以其丰富的用户界面组件、强大的数据绑定机制和高效的编程模型...
1. 合理拆分组件:根据功能和复用性将组件划分,避免过度复杂化。 2. 模块化管理:使用模块化思想组织代码,提高代码可读性和维护性。 3. 优化性能:合理使用wx:if和wx:key,避免不必要的渲染。 4. 充分利用微信小...
《Flex4 Cookbook》是一本专为Flex 4开发者编写的实战指南,旨在帮助读者深入理解和高效运用Adobe Flex 4框架进行富互联网应用(RIA)的开发。这本书是继《Flex 3 Cookbook》之后的更新版,针对Flex 4的新特性、新...
2. **组件化**: Vue的组件系统是其强大之处,允许开发者将UI拆分成独立、可复用的组件,提高了代码的可维护性和可重用性。 3. **指令系统**: 如`v-if`、`v-for`、`v-bind`等,使得数据绑定和逻辑控制变得简单。 4. *...
通过采用模块化的开发方式,开发者可以将大型的应用程序拆分成多个小的、可重用的组件或模块,这不仅有助于提高代码的可维护性,还能让应用程序更加灵活和高效。 #### 核心概念:Flex中的模块(Module) 在Flex中,`...
组件化是一种将应用程序拆分为可重用、独立单元的方法,这有助于提高代码的可维护性和可扩展性。在AS3中,我们可以创建自定义组件,如登录框和按钮,以便在多个项目中重复使用。下面是如何实现这一目标的步骤: 1. ...
修复了刚度Flex设计在等轴测视图和具有真几何的Board装配视图中显示不正确的问题。 22669 改进了Dimension对象点的捕捉行为。 24616 修复了(特定用户的设计)导出到PDF (BC:9184)后出现“绘图员文档已过期”的...
尽管PureMVC最初是为Flash和Flex设计的,但它已经成功地移植到了其他平台和环境中,证明了其设计的普适性和有效性。总之,PureMVC是一个值得学习和应用的框架,特别是在构建复杂的客户端应用程序时。
- 小米商城项目的各个页面(如商品列表、商品详情、购物车、订单结算等)会被拆分为多个独立的Vue组件,每个组件负责一部分功能,这样有利于代码复用和团队协作。 5. **响应式设计**: - 项目可能采用了Flex布局...
5. **组件化开发**:Vue.js的组件化思想是其强大之处,允许我们将UI拆分成可复用的组件,每个组件都有自己的独立逻辑和视图。在高仿知乎日报项目中,可以创建如文章列表、文章详情、评论区等组件,提高代码复用性和...
6. **Flex模块化开发**:如果包含模块化示例,会展示如何拆分大型应用为多个模块,以提高性能和维护性。 通过这个例子包,初学者可以逐步理解并实践Flash Builder 4中的关键概念和技术,如MXML和ActionScript的结合...