flex中toolTip汇总 转

1.toolTip换行符

<mx:Button id="btn1" toolTip="在工具条提示中 使用换行符"/>

2.设定工具条提示的样式

[javascript] view plaincopy

  1. <mx:Style>
  2. ToolTip
  3. {
  4. fontSize:19;
  5. color:#FF6699;
  6. }
  7. </mx:Style>

3.设定工具提示宽度

[javascript] view plaincopy

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
  2. <mx:Script>
  3. <![CDATA[
  4. import mx.controls.ToolTip;
  5. public function init():void
  6. {
  7. ToolTip.maxWidth=100;
  8. }
  9. ]]>
  10. </mx:Script>

4.使用工具条提示事件 
toolTipCrate 
toolTipEnd 
toolTipHide 
toolTipShow 
toolTipShown 
toolTipStart

[javascript] view plaincopy

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
  2. <mx:Script>
  3. <![CDATA[
  4. import mx.events.ToolTipEvent;
  5. import flash.media.Sound;
  6. [Embed(source="demo.mp3")]
  7. private var beepSound:Class;
  8. private var myClip:Sound;
  9. public function init():void
  10. {
  11. TooTip.maxWidth=100;
  12. }
  13. public function playSoune():void
  14. {
  15. myClip.play();
  16. }
  17. public function myListener(event:ToolTipEvent):void
  18. {
  19. playSoune();
  20. }
  21. public function init():void
  22. {
  23. lbl.addEventListener(ToolTipEvent.TOOL_TIP_SHOW,myListener);
  24. myClip=new beepSound();
  25. }
  26. ]]>
  27. </mx:Script>
  28. <mx:Label id="lbl" toolTip="demo ToolTip" text="mouse over here" />

5.ToolTip Manager 
ToolTip Manager 类用来管理toolTip属性,包含在mx.managers包中 
使用ToolTip Manager 延迟工具条显示的时间,在工具条上使用行为效果 
建立动态的工具条提示,使用自定义的工具条提示

公共属性 
    currentTarget : DisplayObject 
当前显示工具提示的 UIComponent;如果未显示工具提示,则为 null。 ToolTipManager 
    currentToolTip : IToolTip 
当前可见的 ToolTip 对象;如果未显示 ToolTip 对象,则为 null。 ToolTipManager 
    enabled : Boolean 
如果为 true,则当用户将鼠标指针移至组件上方时,ToolTipManager 会自动显示工具提示。 ToolTipManager 
    hideDelay : Number 
自工具提示出现时起,Flex 要隐藏此提示前所需等待的时间量(以毫秒为单位)。 ToolTipManager 
    hideEffect : IAbstractEffect 
隐藏工具提示时播放的效果;如果工具提示在消失时不应显示任何效果,则为 null。 ToolTipManager 
   prototype : Object 
对类或函数对象的原型对象的引用。 Object 
    scrubDelay : Number 
在 Flex 再次等待 showDelay 持续显示工具提示之前,用户在各控件间移动鼠标时可以花费的时间(以毫秒为单位)。 ToolTipManager 
    showDelay : Number 
当用户将鼠标移至具有工具提示的组件上方时,Flex 等待 ToolTip 框出现所需的时间(以毫秒为单位)。 ToolTipManager 
    showEffect : IAbstractEffect 
显示工具提示时播放的效果;如果工具提示在显示时不应显示任何效果,则为 null。 ToolTipManager 
    toolTipClass : Class 
创建工具提示要用到的类。

1.控制工具条的显示隐藏 
ToolTip Manager  enabled属性来定义工具条提示状态,默认为true,设定为false就表示禁用 
2.延迟工具条的提示时间 
showDelay 默认为500毫秒 当鼠标在控件之间移动时,flex等待显示工具条提示的时间长度 
hideDelay 默认值为10000毫秒 如果设定hideDelay属性值为0,flex不显示工具条提示,如果设定为Infinity,flex则一致显示工具提示 
直到下一个动作,或者鼠标离开主键 
例如: 
ToolTipManager.showDelay=0;//立即显示 
ToolTipManager.hideDelay=3000;//3s秒后隐藏 
3.在工具条上使用动画效果

[javascript] view plaincopy

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
  2. <mx:Script>
  3. <![CDATA[
  4. import mx.managers.ToolTipManager;
  5. import mx.events.ToolTipEvent;
  6. import flash.media.Sound;
  7. [Embed(source="demo.mp3")]
  8. private var beepSound:Class;
  9. private var myClip:Sound;
  10. public function init():void
  11. {
  12. TooTip.maxWidth=100;
  13. ToolTipManager.showEffect=fadeIn;
  14. }
  15. ]]>
  16. </mx:Script>
  17. <mx:Label id="lbl" toolTip="demo ToolTip" text="mouse over here" />
  18. <mx:Fade id="fadeIn" alphaFrom="0" alphaTo="1" duration="1000" />
  19. <mx:Panel >
  20. <mx:Button id="btn" toolTip="demoasdf" />
  21. </mx:Panel >

4.建立动态工具条体提示 
ToolTipManager有两种方法,即:createToolTip()和destroyToolTip() 
建立一个工具条提示对象时,可以定义其属性,样式,事件和效果。 
crateToolTip()方法结构 
createToolTip(text:String, x:Number, y:Number, errorTipBorderStyle:String = null, context:IUIComponent = null):IToolTip 
[] 使用指定的文本创建 ToolTip 类的实例,然后在舞台坐标中的指定位置显示此实例。 ToolTipManager 
    destroyToolTip(toolTip:IToolTip):void 
[] 销毁由 createToolTip() 方法创建的指定 ToolTip。 
例如: 
<mx:Label id="lbl" toolTip="demo ToolTip" text="mouse over here" /> 
<mx:Button id="btn1" toolTip="填写的是{lbl.text}"/>

5.建立用户自定义的工具条提示

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
  2. <mx:Script>
  3. <![CDATA[
  4. import mx.managers.ToolTipManager;
  5. import mx.events.ToolTip;
  6. public var myTip:ToolTip;
  7. public function init():void
  8. {
  9. var s:String ="保存,应用,退出";
  10. myTip=ToolTipManager.createToolTip(s,10,10) as ToolTip;
  11. myTip.setStyle("backgroundColor",0xFFCC00);
  12. myTip.width=300;
  13. myTip.height=40;
  14. }
  15. public funciton destroyBigTip():void
  16. {
  17. ToolTipManager.destroyToolTip(myTip);
  18. }
  19. ]]>
  20. </mx:Script>
  21. <mx:Button id="btn" toolTip="test toolTip" rollOver="init()" rollOut="destroyBigTip()"/>

6.使用错误信息提示工具条

As代码  

  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
  2. <mx:Script>
  3. <![CDATA[
  4. import mx.managers.ToolTipManager;
  5. import mx.events.ToolTip;
  6. public var errorTip:ToolTip;
  7. private function validatefun(type:String,event:Object):void
  8. {
  9. errorTip=" demo test ";
  10. errorTip=ToolTipManager.createToolTip(errorTip,event.currentTarget.x,event.currentTarget.y) as ToolTip;
  11. errorTip.setStyle("styleName","errorTip");
  12. }
  13. <mx:TextInput id="txt" enter="validatefun(‘demo‘,event)" />

7.重写工具条皮肤 
ToolTip皮肤存在mx.skins.ToolTipBorder.as文件中 
当然需要重写的时候就可以 ToolTipBorder 类继承的类就可以了 
例如:

Java代码  

  1. package
  2. {
  3. import mx.skins.RectangularBorder;
  4. public class MyToolTipBorder extends RectangularBorder
  5. {
  6. public function MyToolTipBorder()
  7. {
  8. super();
  9. }
  10. override protected function updateDisplayList(unscaledWidth:Number,
  11. unscaledHeight:Number):void
  12. {
  13. }
  14. override   public function layoutBackgroundImage():void {
  15. }
  16. }
  17. }mxml中使用
  18. <mx:Style>
  19. ToolTip
  20. {
  21. borderSkin:ClassReference("MyToolTipBorder");
  22. }
  23. </mx:Style>

自定义皮肤 参见:http://demojava.iteye.com/blog/1175446 
自定义DateGird Item ToolTip 
效果图: 
 
自定义ToolTip

renderers.MenuToolTipRenderer as 实现接口   IMenuItemRenderer, IDataRenderer, IListItemRenderer

Xml代码  

  1. package renderers
  2. {
  3. import flash.events.Event;
  4. import flash.events.MouseEvent;
  5. import flash.text.TextFieldAutoSize;
  6. import mx.controls.Alert;
  7. import mx.controls.LinkButton;
  8. import mx.controls.Menu;
  9. import mx.controls.listClasses.IListItemRenderer;
  10. import mx.controls.menuClasses.IMenuItemRenderer;
  11. import mx.core.EdgeMetrics;
  12. import mx.core.IDataRenderer;
  13. import mx.core.UIComponent;
  14. import mx.core.UITextField;
  15. import mx.events.FlexEvent;
  16. public class MenuToolTipRenderer extends UIComponent implements IMenuItemRenderer, IDataRenderer, IListItemRenderer
  17. {
  18. private var textField:UITextField;
  19. private var clickText:LinkButton;
  20. public function get measuredTypeIconWidth():Number//类型图标(单选/复选)的宽度
  21. {
  22. return 33;
  23. }
  24. public function get measuredBranchIconWidth():Number//分支图标的宽度
  25. {
  26. return 33;
  27. }
  28. public function get measuredIconWidth():Number//图标的宽度
  29. {
  30. return 33;
  31. }
  32. //-------------------------------------------------------------------------
  33. public function MenuToolTipRenderer()
  34. {
  35. super();
  36. this.addEventListener(FlexEvent.DATA_CHANGE, renderComponent);
  37. this.setStyle("cornerRadius", 5);
  38. this.maxWidth = 250;
  39. }
  40. //-------------------------------------------------------------------------
  41. // Internal variable for the property value.
  42. private var _menu:Menu;
  43. public function get menu():Menu
  44. {
  45. return _menu;
  46. }
  47. public function set menu(value:Menu):void
  48. {
  49. _menu = value;
  50. }
  51. //-------------------------------------------------------------------------
  52. private var _data:Object;
  53. [Bindable("dataChange")]
  54. public function get data():Object {
  55. return _data;
  56. }
  57. public function set data(value:Object):void {
  58. _data = value;
  59. dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
  60. }
  61. //-------------------------------------------------------------------------
  62. private function get borderMetrics():EdgeMetrics
  63. {
  64. return EdgeMetrics.EMPTY;
  65. }
  66. //-------------------------------------------------------------------------
  67. private function renderComponent(event:FlexEvent):void
  68. {
  69. if(_data != null && _data != "null")
  70. {
  71. textField.htmlText = data.label;
  72. invalidateProperties();
  73. invalidateSize();
  74. invalidateDisplayList();
  75. }
  76. }
  77. //-------------------------------------------------------------------------
  78. private function buttonClick(event:Event):void
  79. {
  80. mx.controls.Alert.show("button click");
  81. }
  82. //-------------------------------------------------------------------------
  83. override protected function createChildren():void
  84. {
  85. super.createChildren();
  86. // Create the TextField that displays the tooltip text.
  87. if (!textField)
  88. {
  89. textField = new UITextField();
  90. textField.autoSize = TextFieldAutoSize.LEFT;
  91. textField.mouseEnabled = false;
  92. textField.multiline = true;
  93. textField.selectable = false;
  94. textField.wordWrap = true;
  95. textField.styleName = this;
  96. addChild(textField);
  97. }
  98. }
  99. //-------------------------------------------------------------------------
  100. override protected function measure():void
  101. {
  102. super.measure();
  103. var bm:EdgeMetrics = borderMetrics;
  104. var leftInset:Number = bm.left + getStyle("paddingLeft");
  105. var topInset:Number = bm.top + getStyle("paddingTop");
  106. var rightInset:Number = bm.right + getStyle("paddingRight");
  107. var bottomInset:Number = bm.bottom + getStyle("paddingBottom");
  108. var widthSlop:Number = leftInset + rightInset;
  109. var heightSlop:Number = topInset + bottomInset;
  110. textField.wordWrap = false;
  111. if (textField.textWidth + widthSlop > this.maxWidth)
  112. {
  113. textField.width = this.maxWidth - widthSlop;
  114. textField.wordWrap = true;
  115. }
  116. measuredWidth = textField.width + widthSlop;
  117. measuredHeight = textField.height + heightSlop;
  118. thisthis.parent.parent.height = this.parent.height = this.height = measuredHeight + 25;
  119. thisthis.parent.parent.width = this.parent.width = this.width = measuredWidth;
  120. createAdditionalContent(measuredWidth, measuredHeight);
  121. }
  122. private function createAdditionalContent(measuredWidth:Number, measuredHeight:Number):void
  123. {
  124. clickText = new LinkButton();
  125. clickText.label = "More Info";
  126. clickText.width = 70;
  127. clickText.height = 18;
  128. clickText.setStyle("fontSize", 9);
  129. clickText.setStyle("color", "blue");
  130. clickText.buttonMode = true;
  131. clickText.visible = true;
  132. clickText.y = measuredHeight;
  133. clickText.x = measuredWidth - clickText.width - 8;
  134. clickText.addEventListener(MouseEvent.CLICK, dispatchClick);
  135. addChild(clickText);
  136. }
  137. private function dispatchClick(e:Event):void
  138. {
  139. this.dispatchEvent(new Event("buttonClicked", true))
  140. }
  141. }
  142. }

Application.xml

Xml代码  

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()"
  3. viewSourceURL="srcview/index.html" width="600" height="300">
  4. <mx:DataGrid id="dg" dataProvider="{tmpArray}" width="550"
  5. mouseOut="dgMouseOut(event)" mouseOver="dgMouseOver(event)" mouseMove="dgMouseMove(event)">
  6. <mx:columns>
  7. <mx:Array>
  8. <mx:DataGridColumn headerText="Label" dataField="label" showDataTips="true" />
  9. <mx:DataGridColumn headerText="Data" dataField="data" />
  10. </mx:Array>
  11. </mx:columns>
  12. </mx:DataGrid>
  13. <mx:Style>
  14. .menuToolTip {
  15. backgroundAlpha: 1;
  16. backgroundColor: #ffffcc;
  17. useRollOver: false;
  18. borderStyle: solid;
  19. borderThickness: 0;
  20. borderColor: #000000;
  21. selectionColor: #7fcdfe;
  22. dropShadowEnabled: true;
  23. cornerRadius: 5;
  24. paddingLeft: 3; paddingRight: 3; paddingTop: 3; paddingBottom: 3;
  25. }
  26. </mx:Style>
  27. <mx:Script>
  28. <![CDATA[
  29. import mx.automation.delegates.controls.ListBaseContentHolderAutomationImpl;
  30. import mx.controls.listClasses.ListBase;
  31. import renderers.MenuToolTipRenderer;
  32. import mx.controls.dataGridClasses.DataGridItemRenderer;
  33. import mx.managers.ToolTipManager;
  34. import mx.controls.Menu;
  35. import mx.events.MenuEvent;
  36. import flash.geom.Point;
  37. [Bindable] private var dgMouseX:Number = 0;
  38. [Bindable] private var dgMouseY:Number = 0;
  39. private var toolTipMenu:Menu;
  40. private var toolTipTimer:Timer;
  41. [Bindable]
  42. public var tmpArray:Array = [{label: ‘<b>mary</b> had a little lamb‘, data: 55, link:‘http://www.meutzner.com/blog‘},
  43. {label: ‘All the kings men, and all the kings horses‘, data: 56, link:‘http://www.meutzner.com/blog‘},
  44. {label: ‘baa baa black sheep, have you any wool‘, data: 57, link:‘http://www.meutzner.com/blog‘},
  45. {label: ‘jack and jill went up the hill‘, data: 58, link:‘http://www.meutzner.com/blog‘},
  46. {label: ‘little miss muffet, sat on a tuffet, eating her curds and whey‘, data: 59, link:‘http://www.meutzner.com/blog‘}
  47. ];
  48. //-------------------------------------------------------------------------
  49. public function init():void
  50. {
  51. ToolTipManager.enabled = false;
  52. }
  53. //-------------------------------------------------------------------------
  54. private function createMenu(data:Object):void
  55. {
  56. toolTipTimer.stop();
  57. var menuData:Array = [{label: data.label, link: data.link}];
  58. toolTipMenu = Menu.createMenu(this, menuData, false);
  59. toolTipMenu.labelField="label";
  60. toolTipMenu.width = 250;
  61. toolTipMenu.setStyle("fontSize", 10);
  62. toolTipMenu.setStyle("themeColor", 0xFF9900);
  63. toolTipMenu.itemRenderer = new ClassFactory(renderers.MenuToolTipRenderer);
  64. toolTipMenu.data = data;
  65. toolTipMenu.selectable = false;
  66. toolTipMenu.setStyle("styleName", "menuToolTip");
  67. toolTipMenu.setStyle("openDuration", 0);
  68. //toolTipMenu.setStyle("selectionEasingFunction", myEasingFunction);
  69. toolTipMenu.addEventListener(MouseEvent.ROLL_OUT, hideToolTip);
  70. toolTipMenu.addEventListener("buttonClicked", catchButtonClick);
  71. var pt1:Point = new Point(this.dgMouseX, this.dgMouseY);
  72. pt1 = dg.localToGlobal(pt1);
  73. //offset this for now to fix slight bug where immediate mouseover of tooltip causes it to hide
  74. toolTipMenu.show(pt1.x+10, pt1.y+0);
  75. }
  76. //-------------------------------------------------------------------------
  77. private function hideToolTip(event:MouseEvent):void
  78. {
  79. //trace("MENU --- " + event.relatedObject + " - " + event.target + " - " + event.currentTarget);
  80. toolTipMenu.hide();
  81. }
  82. //-------------------------------------------------------------------------
  83. private function dgMouseMove(event:MouseEvent):void
  84. {
  85. this.dgMouseX = dg.mouseX;
  86. this.dgMouseY = dg.mouseY;
  87. }
  88. //-------------------------------------------------------------------------
  89. private function dgMouseOver(event:MouseEvent):void
  90. {
  91. this.dgMouseX = dg.mouseX;
  92. this.dgMouseY = dg.mouseY;
  93. //trace("DATAGRID OVER --- " + event.target + " - " + event.currentTarget + " - " + event.relatedObject);
  94. if(event.target is DataGridItemRenderer)
  95. {
  96. if(toolTipMenu != null)
  97. {
  98. if(toolTipMenu.visible && toolTipMenu.data == event.target.data)
  99. return;
  100. }
  101. if(!DataGridItemRenderer(event.target).styleName.showDataTips)
  102. return;
  103. toolTipTimer = new Timer(1000, 0);
  104. toolTipTimer.addEventListener(TimerEvent.TIMER, function():void
  105. {
  106. createMenu(event.target.data);
  107. }
  108. );
  109. toolTipTimer.start();
  110. }
  111. }
  112. //-------------------------------------------------------------------------
  113. private function dgMouseOut(event:MouseEvent):void
  114. {
  115. if(toolTipTimer) toolTipTimer.stop();
  116. //trace("DATAGRID OUT --- " + event.target + " - " + event.currentTarget + " - " + event.relatedObject);
  117. if(event.relatedObject is mx.controls.listClasses.ListBaseContentHolder || event.relatedObject is MenuToolTipRenderer)
  118. {
  119. return;
  120. }
  121. if(event.target is DataGridItemRenderer)
  122. {
  123. if(event.relatedObject is Menu || !event.relatedObject is MenuToolTipRenderer) return;
  124. if(toolTipMenu != null) toolTipMenu.hide();
  125. }
  126. }
  127. //-------------------------------------------------------------------------
  128. private function catchButtonClick(e:Event):void
  129. {
  130. mx.controls.Alert.show(e.target.data.label + " was clicked to take you to " + e.target.data.link);
  131. }
  132. ]]>
  133. </mx:Script>
  134. </mx:Application>

附件为源文件

1. 设置ToolTip风格(通过css来设置) 
   ToolTip {  
    fontFamily: "Arial";  
    fontSize: 13;  
    fontStyle: "italic";  
    color: #FF6699;  
    backgroundColor: #33CC99;  

当然这个可以通过css来动态设置例如: 
StyleManager.getStyleDeclaration("ToolTip").setStyle("fontStyle","italic");  
2. 错误提示errotTip 
 
errorTip 

border-style:"errorTipRight"; 

其中border-style其对应的格式决定小三角的方位,可选值:[toolTip,errorTipRight,errorTipAbove,errorTipBelow] 
<mx:TextInput x="85" y="118" text="021-阿萨德发送" errorString="输入有误!" /> 
如果想修改源码,改变小三角的大小或者位置的话就需要自定义border-skin 
ToolTip 

border-skin:ClassReference("com.MyToolTipBorder"); 

其中 com.MyToolTipBorder其中是一个继承了RectangularBorder的类,源码参见附件, ToolTip默认的skin-class路径在sdk 
sdks\3.0.0\frameworks\projects\framework\src\mx\skins\halo\ToolTipBorder 
引入包的路径:import mx.skins.halo.ToolTipBorder; 
笔者发现 ToolTipBorder 的类对于4个方向支持不是很好,其中最右边的提示,也就是小三角在右边的没有,把源码修改了下(附件中有MyToolTipBorder) 
改变默认的错误提示的背景色设置4个方向的提示

3. 使用ToolTipManager动态创建自定义的tooltip; 
使用ToolTipManager管理器类能够让你设置基本的ToolTip功能。比如显示延迟,以及控制是否显示ToolTip信息内容。 
你可以在程序中激活和停止使用ToolTips. 
可以使用enabled这个属性来激活或者停止使用ToolTips,如果停止使用,在鼠标移到到组件上方的时候就不会用ToolTips的框显示出来,不管那个组件是否设置了toolTip这个属性值 
设置ToolTipManager的常用属性介绍 
ToolTipManager.enabled = true;//鼠标移入控件自动显示工具提示 
ToolTipManager.showDelay = 0; //flex 等待tooltip出现的时间单位毫秒默认500 
ToolTipManager. hideDelay=3000; //flex 隐藏tooltip所需的事件等待量 单位毫秒,默认500 
ToolTipManager.showEffect= fadeIn; //显示tooltip的特效 
ToolTipManager. hideEffect= fadeIn; //隐藏 tooltip的特效 
<mx:Fade id="fadeIn" alphaFrom="0" alphaTo="1" duration="1000"/> 
4. 使用ToolTipManager createToolTip,destroyToolTip来动态创建自定义tooltip 
一般自定义tooltip都是在控件的 
MouseEvent. ROLL_OVER(rollOver) 
MouseEvent. MOUSE_OVER (mouseOver) 
控制自定义tooltip的显示 
MouseEvent. ROLL_OUT (rollOut) 
MouseEvent. MOUSE_OUT (mouseOut) 
控制自定义tooltip的隐藏 
现已rollOver结合ToolTipManager实现自定义tooltip

Xml代码  

  1. <mx:Script>
  2. <![CDATA[
  3. import mx.managers.ToolTipManager;
  4. public var myTip:ToolTip;
  5. private function showTip(event:MouseEvent,type:String):void
  6. {
  7. Tip=ToolTipManager.createToolTip(str,event.stageX,event.stageY) as ToolTip;
  8. //根据需要动态设置tooltip的style属性
  9. myTip.move(event.stageX,event.stageY);
  10. }
  11. private function hideTip():void
  12. {
  13. ToolTipManager.destroyToolTip(myTip);
  14. }
  15. ]]>
  16. </mx:Script>

5. 实现mx.core.IToolTip接口自定义toolTip的外观(可选as实现该接口,mxml实现该接口) 
现已mxml实现该接口为例(简单), MyPanelToolTip.mxml

Xml代码  

  1. <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"
  2. implements="mx.core.IToolTip"
  3. width="212"
  4. borderThickness="2"
  5. backgroundColor="0xCCCCCC"
  6. dropShadowEnabled="true"
  7. borderColor="black"
  8. roundedBottomCorners="true"
  9. height="90">
  10. <mx:Script>
  11. <![CDATA[
  12. //注意 Panel 中的  implements="mx.core.IToolTip"
  13. [Bindable]
  14. private var _text:String="";
  15. public function get text():String {
  16. return _text ;
  17. }
  18. public function set text(value:String):void {
  19. this._text=value;
  20. }
  21. ]]></mx:Script>
  22. <mx:Text text="{text}" percentWidth="100"/>
  23. </mx:Panel>

使用时: 
private function createCustomTip(title:String, body:String, event:ToolTipEvent):void 

var pan:MyPanelToolTip = new MyPanelToolTip(); 
           pan.title = title; 
           pan.text=body; 
           event.toolTip = pan; 

<mx:Button id="btn3" label="button" x="275.5" toolTip="demo" toolTipCreate="createCustomTip(‘自定义tooltip‘,‘该tooltip实现mx.core.IToolTip接口,注意是控件必须设置toolTip属性的值‘,event)" y="187"/> 
6. 自定义组件(继承UIComponent)结合mouseover事件形式   
效果图:

http://blog.csdn.net/xingfeng0501/article/details/7341148

flex中toolTip汇总 转

时间: 2024-10-07 18:28:44

flex中toolTip汇总 转的相关文章

flex中dataGrid的编辑功能

flex中dataGrid的编辑功能 在flex的dataGrid中,很多情况下列是需要嵌入其他的控制的,比如:checkbox,combox等,此时需要利用dataGrid的如下功能: 1.datagrid编辑功能简介     当我们点击datagrid中的一个单元格进行编辑时,可结合使用一些组件,RadioButtonGroup.checkbox.ComboBox等     datagrid的编辑功能必须使用以下组件:editorDataField.itemEditor和itemRender

Flex 自定义ToolTip并动态创建应用

Flex中,如果给组件设置了toolTip属性值,则当鼠标移动到该组件上时,会自动出现tip提示,默认样式是黄色背景,且只能显示普通文本. 我们可以继承系统的ToolTip来实现自己的toolTip组件替换,并实现如下功能: 1.提示文本可以使用html文本(还可以显示图片) 2.提示背景使用自定义皮肤(渐变,边框,半透明背景) 上一张实际应用中的效果图: 一. 自定义提示组件 HtmlToolTip.as package controller { import mx.controls.Tool

Flex中的DataGrid报错(一)

1.错误描述    此行的多个标记: -holeNum -1105: 赋值的目标必须是引用值. 2.错误原因    detailWindow.holeNum.toString() = "20140730"; 3.解决办法 Flex中的DataGrid报错(一),布布扣,bubuko.com

Flex中的DataGrid报错(二)

1.错误描述 此行的多个标记: -holeNum -1067: String 类型值的隐式强制指令的目标是非相关类型 mx.controls:Text. 2.错误原因  将字符串类型赋值给Text类型 3.解决办法 Flex中的DataGrid报错(二),布布扣,bubuko.com

Flex中 Array 的IndexOf 的作用

Flex中 Array 的IndexOf 的作用 1.说明    indexOf用于在索引中从小到大查找,假设查得到就返回索引值,查不到就返回-1: 2.实例 (1)设计源代码 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe

Flex中的折线图

1.问题背景 在Flex中,制作一个折线图,并且给折线图的横轴和纵轴进行样式设置,具体实现步骤如下: 2.实现实例 (1)设置横轴样式和数据绑定 <mx:horizontalAxis> <mx:CategoryAxis categoryField="quarter" displayName="季度"/> </mx:horizontalAxis> <mx:horizontalAxisRenderers> <mx:A

Flex中利用事件机制进行主程序与子窗体间参数传递

在开发具有子窗体,或者itemrenderer的应用时,常常涉及到子窗体向父窗体传递参数或者从itemrenderer内的控件向外部的主程序传递参数的需求.这些都可以通过事件机制这一统一方法加以解决.在我的应用中有两个需求: 1.左侧的List控件的itemrenderer中包含CheckBox控件,当其状态改变时需要同时改变主程序中的一个数组变量的内容:2.左下方的"新增届次"按钮会弹出一个窗口,窗口中输入届次信息后需要修改数据库中的表,同时表的更改结果要能够在List控件中体现出来

flex中对ArrayCollection进行排序

Flex中对ArrayCollection进行排序 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.collections.SortFiel

Flex中操作XML的E4X方法

用于处理 XML 的 E4X 方法 Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本 ECMAScript for XML 规范定义了一组用于使用 XML 数据的类和功能.这些类和功能统称为 E4X.ActionScript 3.0 包含以下 E4X 类:XML.XMLList.QName 和 Namespace. E4X 类的方法.属性和运算符旨在实现以下目标: 简单 - 在可能的情况下,使用 E4X 可以更容易地编写和理解用于使用 XML 数据的代码. 一致