[转]flex ToolTip专题

[url]http://nianshi.iteye.com/blog/743808[/url]

1 创建ToolTips

每一个可视化的Flex组件都继承了UIComponent类(它实现了IToolTipManagerClient接口)来支持toolTip属性。这个属性从UIComponent类继承而来。你设置了toolTip的属性为一个文本内容,当鼠标移动到该组件上方的时候,这些文字信息就会被显示。
你也可以在ActionScript中来设置toolTip.
假如你没有在一个容器中定义ToolTip, 则容器的子组件将显示容器的ToolTip。举个例子,比如你添加了一个button到一个Panel容器中,而这个容器包含了一个ToolTip,当鼠标移动到这个Panel时用户将看到这个Panel 容器的ToolTip内容。当用户移动鼠标指针到这个button控件时候,Panel容器的ToolTip将继续显示。当然你可以通过设置button 的ToolTip的属性值来重写容器Panel的ToolTip 内容。
TabNavigator容器却在它的子(children)上使用ToolTip。假如你添加ToolTip到TabNavigator的一个子版面中,当鼠标移动到那个版面的tab的上方的时候,ToolTip将被显示出来,而不是鼠标移动到那个版面本身上的时候显示ToolTip信息。假如你添加了ToolTip到TabNavigator容器中,除非ToolTip在那个版面被重写否则不可能当鼠标移动到tab或者版面上都显示 ToolTip信息。同样在以下的控件中也是类似的效果。
Accordion
ButtonBar
LinkBar
TabBar
ToggleButtonBar

2 设置ToolTip风格


你可以通过CSS语法或者mx.style.StyleManager类来改变ToolTip的内容和外框(Box)的显示风格。默认的风格设置定义在framework.swc文件中的default.css的文件中。
Java代码

1. <mx:Style>
2. ToolTip {
3. fontFamily: "Arial";
4. fontSize: 19;
5. fontStyle: "italic";
6. color: #FF6699;
7. backgroundColor: #33CC99;
8. }
9. </mx:Style>

<mx:Style>
ToolTip {
fontFamily: "Arial";
fontSize: 19;
fontStyle: "italic";
color: #FF6699;
backgroundColor: #33CC99;
}
</mx:Style>


要使用StyleManager类来设置ToolTip风格,要使用setStyle()这个函数,比如:
Java代码

1. private function setToolTipStyle():void {
2. StyleManager.getStyleDeclaration("ToolTip").setStyle("fontStyle","italic");
3. StyleManager.getStyleDeclaration("ToolTip").setStyle("fontSize","19");
4. StyleManager.getStyleDeclaration("ToolTip").setStyle("fontFamily","Arial");
5. StyleManager.getStyleDeclaration("ToolTip").setStyle("color","#FF6699");
6. StyleManager.getStyleDeclaration("ToolTip").setStyle("backgroundColor","#33CC99");
7. }

private function setToolTipStyle():void {
StyleManager.getStyleDeclaration("ToolTip").setStyle("fontStyle","italic");
StyleManager.getStyleDeclaration("ToolTip").setStyle("fontSize","19");
StyleManager.getStyleDeclaration("ToolTip").setStyle("fontFamily","Arial");
StyleManager.getStyleDeclaration("ToolTip").setStyle("color","#FF6699");
StyleManager.getStyleDeclaration("ToolTip").setStyle("backgroundColor","#33CC99");
}


ToolTip使用可继承的全局的styles。比如你通过StyleManager在全局的选择器上(global selector)设置了ToolTip的fontWeight属性:
Java代码

1. private function setToolTipStyle():void {
2. StyleManager.getStyleDeclaration("global").setStyle("fontWeight","bold");
3. }

private function setToolTipStyle():void {
StyleManager.getStyleDeclaration("global").setStyle("fontWeight","bold");
}


3 ToolTip事件的使用


在ToolTip的生命周期中会触发很多事件,这些事件都是ToolTipEvent类型的。

除了type和target两个属性外,ToolTipEvent对象涉及到了toolTip属性。利用这个属性,就可以通过text属性拿到ToolTip里面的文本内容值。

Java代码

1. <?xml version="1.0"?>
2.
3. <!-- tooltips/ToolTipsWithSoundEffects.mxml -->
4.
5. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()">
6. <mx:Script>
7. <![CDATA[
8. import mx.events.ToolTipEvent;
9. import flash.media.Sound;
10. [Embed(source="../assets/sound1.mp3")]
11. private var beepSound:Class;
12. private var myClip:Sound;
13. public function playSound():void {
14. myClip.play();
15. }
16.
17. private function myListener(event:ToolTipEvent):void {
18. playSound();
19. }
20. private function init():void {
21. myLabel.addEventListener(ToolTipEvent.TOOL_TIP_SHOW,
22. myListener);
23. myClip = new beepSound();
24. }
25. ]]>
26. </mx:Script>
27. <mx:Label id="myLabel" toolTip="ToolTip" text="Mouse Over Me"/>
28. </mx:Application>

<?xml version="1.0"?>

<!-- tooltips/ToolTipsWithSoundEffects.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()">
<mx:Script>
<![CDATA[
import mx.events.ToolTipEvent;
import flash.media.Sound;
[Embed(source="../assets/sound1.mp3")]
private var beepSound:Class;
private var myClip:Sound;
public function playSound():void {
myClip.play();
}

private function myListener(event:ToolTipEvent):void {
playSound();
}
private function init():void {
myLabel.addEventListener(ToolTipEvent.TOOL_TIP_SHOW,
myListener);
myClip = new beepSound();
}
]]>
</mx:Script>
<mx:Label id="myLabel" toolTip="ToolTip" text="Mouse Over Me"/>
</mx:Application>


4 使用ToolTip 管理器


使用ToolTipManager管理器类能够让你设置基本的ToolTip功能。比如显示延迟,以及控制是否显示ToolTip信息内容。
你可以在程序中激活和停止使用ToolTips. 可以使用enabled这个属性来激活或者停止使用ToolTips,如果停止使用,在鼠标移到到组件上方的时候就不会用ToolTips的框显示出来,不管那个组件是否设置了toolTip这个属性值。
Java代码

1. if (ToolTipManager.enabled) {
2. ToolTipManager.enabled = false;
3. } else {
4. ToolTipManager.enabled = true;
5. }

if (ToolTipManager.enabled) {
ToolTipManager.enabled = false;
} else {
ToolTipManager.enabled = true;
}


延迟时间是来来衡量某一时间发生前所消耗的时间。比如,在用户移动鼠标指针到组件的上方,在ToolTip显示之前有一个简短的延迟。这就给那些不想看到ToolTip内容的用户足够的时间,在看到ToolTip信息之前把鼠标移开。

ToolTipManager 可以允许你设置这个ToolTip显示延迟的时间的长度,以及ToolTip在屏幕上显示的事件长度。你还可以设置ToolTips之间的延迟时间。

你可以在ActionScript的代码块中设置ToolTipManager的这些属性值:showDealy,hideDelay和 scrubDelay。具体的功能描述请参考官方的develop guide。以下是一个例子利用Application k控制的初始化方法来设置ToolTip的初始值。

Java代码

1. private function initApp():void {
2. ToolTipManager.enabled = true;// Optional. Default value is true.
3. ToolTipManager.showDelay = 0;// Display immediately.
4. ToolTipManager.hideDelay = 3000; // Hide after 3 seconds of being viewed.
5. }

private function initApp():void {
ToolTipManager.enabled = true;// Optional. Default value is true.
ToolTipManager.showDelay = 0;// Display immediately.
ToolTipManager.hideDelay = 3000; // Hide after 3 seconds of being viewed.
}


你可以使用自定义的视觉效果或者标准的Flex效果。你可以设置ToolTipManager的showEffect或者hideEffect属性值来定义当ToolTip显示或者隐藏是所触发的效果。

以下就是使用退出(Fade)的效果:
Java代码

1. <?xml version="1.0"?>
2. <!-- tooltips/FadeInToolTips.mxml -->
3.
4.
5. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="600" height="600"
6. initialize="app_init();">
7. <mx:Script><![CDATA[
8. import mx.managers.ToolTipManager;
9. public function app_init():void {
10. ToolTipManager.showEffect = fadeIn;
11. }
12. ]]></mx:Script>
13. <mx:Fade id="fadeIn" alphaFrom="0" alphaTo="1" duration="1000"/>
14. <mx:Button id="b1" label="Click Me" toolTip="This is a ToolTip that fades in."/>
15. </mx:Application>

<?xml version="1.0"?>
<!-- tooltips/FadeInToolTips.mxml -->


<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="600" height="600"
initialize="app_init();">
<mx:Script><![CDATA[
import mx.managers.ToolTipManager;
public function app_init():void {
ToolTipManager.showEffect = fadeIn;
}
]]></mx:Script>
<mx:Fade id="fadeIn" alphaFrom="0" alphaTo="1" duration="1000"/>
<mx:Button id="b1" label="Click Me" toolTip="This is a ToolTip that fades in."/>
</mx:Application>


你不仅可是使用ToolTips静态的显示文本信息的功能,还可以使用ToolTips动态的绑定组件中的内容来动态显示ToolTips信息。这样可以让你ToolTips成为用户界面的一部分。给用户给多的个性化的体验。

你可以使用{}绑定ToolTips的值到另外一个组件的文本内容。以下的例子就是插入TextInput控件的文本值到按钮控件的ToolTips值。

Java代码

1. <?xml version="1.0"?>
2. <!-- tooltips/BoundToolTipText.mxml -->
3.
4. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
5. <mx:TextInput id="txtTo" width="300"/>
6. <mx:Button label="Send" toolTip="Send e-mail to {txtTo.text}"/>
7. </mx:Application>

<?xml version="1.0"?>
<!-- tooltips/BoundToolTipText.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:TextInput id="txtTo" width="300"/>
<mx:Button label="Send" toolTip="Send e-mail to {txtTo.text}"/>
</mx:Application>


另外一个方法就是获取ToolTips的toolTipShow事件处理来改变text属性值。以下就是一个通过 myToolTipChanger方法来监听按钮控件的toolTipShow事件,然后在这个方法内修改了 ToolTipManager.currentToolTip.text属性。这个属性值在运行前是未知的。

Java代码

1. <?xml version="1.0"?>
2.
3. <!-- tooltips/DynamicToolTipText.mxml -->
4.
5. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp()">
6.
7. <mx:Script><![CDATA[
8. import mx.managers.ToolTipManager;
9. import mx.controls.ToolTip;
10. import mx.events.ToolTipEvent;
11. public function initApp():void {
12. b1.addEventListener(ToolTipEvent.TOOL_TIP_SHOW, myToolTipChanger)
13. }
14. public function myToolTipChanger(event:ToolTipEvent):void {
15. // Pass the value of myName in to your application in some way.
16. // For example, as a flashVar variable.
17. ToolTipManager.currentToolTip.text = "Click the button, " +
18. Application.application.parameters.myName;
19. }
20. ]]>
21. </mx:Script>
22.
23. <mx:Button id="b1" label="Click Me" toolTip="Click the button."/>
24. </mx:Application>

<?xml version="1.0"?>

<!-- tooltips/DynamicToolTipText.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp()">

<mx:Script><![CDATA[
import mx.managers.ToolTipManager;
import mx.controls.ToolTip;
import mx.events.ToolTipEvent;
public function initApp():void {
b1.addEventListener(ToolTipEvent.TOOL_TIP_SHOW, myToolTipChanger)
}
public function myToolTipChanger(event:ToolTipEvent):void {
// Pass the value of myName in to your application in some way.
// For example, as a flashVar variable.
ToolTipManager.currentToolTip.text = "Click the button, " +
Application.application.parameters.myName;
}
]]>
</mx:Script>

<mx:Button id="b1" label="Click Me" toolTip="Click the button."/>
</mx:Application>


ToolTipmanger 有两个方法可以让你自定义ToolTips。这两个方法是createToolTip()和destoryToolTip()。即用来创建和销毁 ToolTips对象。当你创建一个ToolTip对象,你可以自定义它的显示效果,类型,事件等。
createToolTip()方法有以下的一些参数:

Java代码

1. createToolTip(text:String, x:Number, y:Number, errorTipBorderStyle:String, context:IUIComponent):IToolTip

createToolTip(text:String, x:Number, y:Number, errorTipBorderStyle:String, context:IUIComponent):IToolTip


你可以使用destroyTollTip()方法来销毁之前指定的ToolTip对象。该方法:
Java代码

1. destroyToolTip(toolTip:IToolTip):void

destroyToolTip(toolTip:IToolTip):void


Java代码

1. <?xml version="1.0"?>
2.
3. <!-- tooltips/CreatingToolTips.mxml -->
4. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
5. <mx:Script><![CDATA[
6.
7. import mx.managers.ToolTipManager;
8. import mx.controls.ToolTip;
9. public var myTip:ToolTip;
10.
11. private function createBigTip():void {
12. var s:String = "These buttons let you save, exit, or continue with the current
13. operation."
14. myTip = ToolTipManager.createToolTip(s,10,10) as ToolTip;
15. myTip.setStyle("backgroundColor",0xFFCC00);
16. myTip.width = 150;
17. myTip.height = 200;
18. }
19.
20. private function destroyBigTip():void {
21. ToolTipManager.destroyToolTip(myTip);
22. }
23. ]]></mx:Script>
24. <mx:Style>
25. Panel {
26. paddingLeft: 5;
27. paddingRight: 5;
28. paddingTop: 5;
29. paddingBottom: 5;
30. }
31. </mx:Style>
32. <mx:Panel title="ToolTips" rollOver="createBigTip()" rollOut="destroyBigTip()">
33. <mx:Button label="OK" toolTip="Save your changes and exit."/>
34. <mx:Button label="Apply" toolTip="Apply changes and continue."/>
35. <mx:Button label="Cancel" toolTip="Cancel and exit."/>
36. </mx:Panel>
37. </mx:Application>

<?xml version="1.0"?>

<!-- tooltips/CreatingToolTips.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[

import mx.managers.ToolTipManager;
import mx.controls.ToolTip;
public var myTip:ToolTip;

private function createBigTip():void {
var s:String = "These buttons let you save, exit, or continue with the current
operation."
myTip = ToolTipManager.createToolTip(s,10,10) as ToolTip;
myTip.setStyle("backgroundColor",0xFFCC00);
myTip.width = 150;
myTip.height = 200;
}

private function destroyBigTip():void {
ToolTipManager.destroyToolTip(myTip);
}
]]></mx:Script>
<mx:Style>
Panel {
paddingLeft: 5;
paddingRight: 5;
paddingTop: 5;
paddingBottom: 5;
}
</mx:Style>
<mx:Panel title="ToolTips" rollOver="createBigTip()" rollOut="destroyBigTip()">
<mx:Button label="OK" toolTip="Save your changes and exit."/>
<mx:Button label="Apply" toolTip="Apply changes and continue."/>
<mx:Button label="Cancel" toolTip="Cancel and exit."/>
</mx:Panel>
</mx:Application>


当然你也可以通过扩展已存在的控件并且实现IToolTip接口来实现自定义的ToolTip,比如Panel 或者VBox容器等。

Java代码

1. <?xml version="1.0"?>
2.
3. <!-- tooltips/ToolTipComponents/PanelToolTip.mxml -->
4.
5. <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"
6. implements="mx.core.IToolTip"
7. width="200"
8. alpha=".8"
9. borderThickness="2"
10. backgroundColor="0xCCCCCC"
11. dropShadowEnabled="true"
12. borderColor="black"
13. borderStyle="solid"
14. title="feh"
15. >
16.
17. <mx:Script><![CDATA[
18. [Bindable]
19. public var bodyText:String = "";
20. // Implement required methods of the IToolTip interface; these
21.
22. // methods are not used in this example, though.
23. public var _text:String;
24. public function get text():String {
25. return _text
26. }
27. public function set text(value:String):void {
28. }
29. ]]></mx:Script>
30. <mx:Text text="{bodyText}" percentWidth="100"/>
31. </mx:Panel>

<?xml version="1.0"?>

<!-- tooltips/ToolTipComponents/PanelToolTip.mxml -->

<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"
implements="mx.core.IToolTip"
width="200"
alpha=".8"
borderThickness="2"
backgroundColor="0xCCCCCC"
dropShadowEnabled="true"
borderColor="black"
borderStyle="solid"
title="feh"
>

<mx:Script><![CDATA[
[Bindable]
public var bodyText:String = "";
// Implement required methods of the IToolTip interface; these

// methods are not used in this example, though.
public var _text:String;
public function get text():String {
return _text
}
public function set text(value:String):void {
}
]]></mx:Script>
<mx:Text text="{bodyText}" percentWidth="100"/>
</mx:Panel>


5 使用Error Tips


Error tips是ToolTip类的一个实例。它可以从errorTip类选择器来获得styles. 他们经常出现在Flex的验证机制中用来显示警告信息。但是你也可以利用errorTip的style定义来创建自己的验证警告机制。

Error tips的风格定义在default.css这个文件中。它指定了以下默认的设置:

Java代码

1. .errorTip { color: #FFFFFF;
2. fontSize: 9;
3. fontWeight: "bold";
4. shadowColor: #000000;
5. borderColor: #CE2929;
6. borderStyle: "errorTipRight";
7. paddingBottom: 4;
8. paddingLeft: 4;
9. paddingRight: 4;
10. paddingTop: 4;
11. }

.errorTip { color: #FFFFFF;
fontSize: 9;
fontWeight: "bold";
shadowColor: #000000;
borderColor: #CE2929;
borderStyle: "errorTipRight";
paddingBottom: 4;
paddingLeft: 4;
paddingRight: 4;
paddingTop: 4;
}


你可以重写这些sytle来建立自己的定义的error tips显示风格。
Java代码

1. <?xml version="1.0"?>
2.
3. <!-- tooltips/ErrorTipStyle.mxml -->
4.
5. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalGap="20">
6.
7. <mx:Script><![CDATA[
8.
9. import mx.controls.ToolTip;
10. import mx.managers.ToolTipManager;
11.
12. private var errorTip:ToolTip;
13. private var myError:String;
14.
15. private function validateEntry(type:String, event:Object):void {
16. if (errorTip) {
17. resetApp();
18. }
19.
20. // NOTE: Validation logic would go here.
21.
22. switch(type) {
23. case "ssn":
24. myError="Use SSN format (NNN-NN-NNNN)";
25. break;
26. case "phone":
27. myError="Use phone format (NNN-NNN-NNNN)";
28. break;
29. }
30.
31. // Use the target's x and y positions to set position of error tip.
32. trace("event.currentTarget.width" + event.currentTarget.width);
33. trace("event.currentTarget.x" + event.currentTarget.x);
34. errorTip = ToolTipManager.createToolTip(
35. myError, event.currentTarget.x + event.currentTarget.width,
36. event.currentTarget.y) as ToolTip;
37. // Apply the errorTip class selector.
38. errorTip.setStyle("styleName", "errorTip");
39. }
40.
41. private function resetApp():void {
42. if (errorTip) {
43. ToolTipManager.destroyToolTip(errorTip);
44. errorTip = null;
45. }
46.
47. }
48. ]]></mx:Script>
49.
50. <mx:TextInput id="ssn" enter="validateEntry('ssn',event)"/>
51. <mx:TextInput id="phone" enter="validateEntry('phone',event)"/>
52. <mx:Label text="Press the enter key after entering text in each text input."/>
53.
54. <mx:Button id="b1" label="Reset" click="resetApp()"/>
55. </mx:Application>

<?xml version="1.0"?>

<!-- tooltips/ErrorTipStyle.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalGap="20">

<mx:Script><![CDATA[

import mx.controls.ToolTip;
import mx.managers.ToolTipManager;

private var errorTip:ToolTip;
private var myError:String;

private function validateEntry(type:String, event:Object):void {
if (errorTip) {
resetApp();
}

// NOTE: Validation logic would go here.

switch(type) {
case "ssn":
myError="Use SSN format (NNN-NN-NNNN)";
break;
case "phone":
myError="Use phone format (NNN-NNN-NNNN)";
break;
}

// Use the target's x and y positions to set position of error tip.
trace("event.currentTarget.width" + event.currentTarget.width);
trace("event.currentTarget.x" + event.currentTarget.x);
errorTip = ToolTipManager.createToolTip(
myError, event.currentTarget.x + event.currentTarget.width,
event.currentTarget.y) as ToolTip;
// Apply the errorTip class selector.
errorTip.setStyle("styleName", "errorTip");
}

private function resetApp():void {
if (errorTip) {
ToolTipManager.destroyToolTip(errorTip);
errorTip = null;
}

}
]]></mx:Script>

<mx:TextInput id="ssn" enter="validateEntry('ssn',event)"/>
<mx:TextInput id="phone" enter="validateEntry('phone',event)"/>
<mx:Label text="Press the enter key after entering text in each text input."/>

<mx:Button id="b1" label="Reset" click="resetApp()"/>
</mx:Application>


另外一种使用error tips的方法就是设置errorString属性。它会调用ToolTipManager创建一个ToolTip实例并且吧errorTip的风格运用到那个ToolTip中而不需要添加额外的代码。

Java代码

1. <?xml version="1.0"?>
2.
3. <!-- tooltips/ErrorString.mxml -->
4.
5. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalGap="20">
6.
7. <mx:Script>
8. <![CDATA[
9. import mx.controls.ToolTip;
10. import mx.managers.ToolTipManager;
11.
12. private var errorTip:ToolTip;
13. private var myError:String;
14.
15. private function validateEntry(type:String, event:Object):void {
16. // NOTE: Validation logic would go here.
17. switch(type) {
18. case "ssn":
19. myError="Use SSN format";
20. break;
21. case "phone":
22. myError="Use phone format";
23. break;
24. }
25. event.currentTarget.errorString = myError;
26. }
27. ]]>
28. </mx:Script>
29.
30. <mx:TextInput id="ssn" enter="validateEntry('ssn',event)"/>
31. <mx:TextInput id="phone" enter="validateEntry('phone',event)"/>
32.
33. </mx:Application>

<?xml version="1.0"?>

<!-- tooltips/ErrorString.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalGap="20">

<mx:Script>
<![CDATA[
import mx.controls.ToolTip;
import mx.managers.ToolTipManager;

private var errorTip:ToolTip;
private var myError:String;

private function validateEntry(type:String, event:Object):void {
// NOTE: Validation logic would go here.
switch(type) {
case "ssn":
myError="Use SSN format";
break;
case "phone":
myError="Use phone format";
break;
}
event.currentTarget.errorString = myError;
}
]]>
</mx:Script>

<mx:TextInput id="ssn" enter="validateEntry('ssn',event)"/>
<mx:TextInput id="phone" enter="validateEntry('phone',event)"/>

</mx:Application>


当调用createToolTip()方法时你还可以通过指定errorTipBorderStyle的属性值来制定ToolTipManger所创建的error tip。

Java代码

1. <?xml version="1.0"?>
2. <!-- tooltips/CreatingErrorTips.mxml -->
3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
4.
5. <mx:Script>
6. <![CDATA[
7. import mx.managers.ToolTipManager;
8. import mx.controls.ToolTip;
9.
10. public var myTip:ToolTip;
11.
12. private function createBigTip(event:Event):void {
13. var myError:String = "These buttons let you save, exit, or continue with the currentoperation.";
14. // By setting the fourth argument to a non-null value,
15. // this ToolTip is created as an error tip.
16.
17. myTip = ToolTipManager.createToolTip(
18. myError,
19. event.currentTarget.x + event.currentTarget.width,
20. event.currentTarget.y,
21. "errorTipRight"
22. ) as ToolTip;
23. }
24.
25. private function destroyBigTip():void {
26. ToolTipManager.destroyToolTip(myTip);
27. }
28. ]]>
29. </mx:Script>
30.
31. <mx:Style>
32. Panel {
33. paddingLeft: 5;
34. paddingRight: 5;
35. paddingTop: 5;
36. paddingBottom: 5;
37. }
38. </mx:Style>
39.
40. <mx:Panel title="ToolTips" rollOver="createBigTip(event)" rollOut="destroyBigTip()">
41.
42. <mx:Button label="OK" toolTip="Save your changes and exit."/>
43. <mx:Button label="Apply" toolTip="Apply changes and continue."/>
44. <mx:Button label="Cancel" toolTip="Cancel and exit."/>
45.
46. </mx:Panel>
47. </mx:Application>

<?xml version="1.0"?>
<!-- tooltips/CreatingErrorTips.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

<mx:Script>
<![CDATA[
import mx.managers.ToolTipManager;
import mx.controls.ToolTip;

public var myTip:ToolTip;

private function createBigTip(event:Event):void {
var myError:String = "These buttons let you save, exit, or continue with the currentoperation.";
// By setting the fourth argument to a non-null value,
// this ToolTip is created as an error tip.

myTip = ToolTipManager.createToolTip(
myError,
event.currentTarget.x + event.currentTarget.width,
event.currentTarget.y,
"errorTipRight"
) as ToolTip;
}

private function destroyBigTip():void {
ToolTipManager.destroyToolTip(myTip);
}
]]>
</mx:Script>

<mx:Style>
Panel {
paddingLeft: 5;
paddingRight: 5;
paddingTop: 5;
paddingBottom: 5;
}
</mx:Style>

<mx:Panel title="ToolTips" rollOver="createBigTip(event)" rollOut="destroyBigTip()">

<mx:Button label="OK" toolTip="Save your changes and exit."/>
<mx:Button label="Apply" toolTip="Apply changes and continue."/>
<mx:Button label="Cancel" toolTip="Cancel and exit."/>

</mx:Panel>
</mx:Application>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值