Apr 18
接下来的例子演示了如何利用getStatusTextField()事件和mx_internal命名空间,在Flex的Panel容器的status文本中指定一个HTML格式的链接字符串。
需要注意的是:和前面的如何显示,隐藏Flex的TitleWindow容器关闭按钮(close button)的例子,Flex的Alert消息框中设置icon图标的例子等一样,由于例子中用到了mx_internal命名空间(namespace),无法保证在后续版本的Flex SDK中都可以正常工作,使用的时候自己要斟酌一下。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码)
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- creationComplete="init();">
- <mx:Script>
- <![CDATA[
- import mx.core.IUITextField;
- import mx.controls.Alert;
- private function init():void {
- var tf:IUITextField = panel.mx_internal::getStatusTextField();
- tf.selectable = true;
- tf.addEventListener(TextEvent.LINK, textField_link);
- tf.htmlText = "status with <a href='event:showAlert'><u>link</u></a>";
- }
- private function textField_link(evt:TextEvent):void {
- Alert.show("Success! A Panel container with a link in the status text.", evt.text);
- }
- ]]>
- </mx:Script>
- <mx:Panel id="panel"
- title="Title"
- status="status with link"
- width="320"
- height="240">
- <mx:Text text="Click the link in the Panel container's status bar to launch an Alert control."
- width="100%" selectable="false" />
- <mx:ControlBar>
- <mx:Text htmlText="<b>Note:</b> The status text field must have it's selectable property set to true in order to dispatch the link event."
- width="100%" selectable="false" />
- </mx:ControlBar>
- </mx:Panel>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer

July 23rd, 2008 at 11:22 am
我创建多个panel 可以动态添加链接吗?我没有添回成功
July 23rd, 2008 at 11:27 am
例子中是在creationComplete时调用init()实现的, 添加相应的事件动态调用不成功?
July 23rd, 2008 at 1:01 pm
我在 as 中创建
var panel:Panel=new Panel; 我怎么使用这链接呀!
var tf:IUITextField = panel.mx_internal::getStatusTextField();
tf
July 23rd, 2008 at 1:02 pm
我在 as 中创建
var panel:Panel=new Panel; 我怎么使用这链接呀!
var tf:IUITextField = panel.mx_internal::getStatusTextField();
tf 空对象. 我应该怎么做
July 23rd, 2008 at 1:09 pm
status在new的时候指定了吗?
panel = new Panel();
panel.title = “My Title”;
panel.status = “status with link”
panel.width = 320;
panel.height = 240;
var tf:IUITextField = panel.mx_internal::getStatusTextField();
July 23rd, 2008 at 1:15 pm
我指定了.麻烦你了
panel = new Panel();
panel.title = name;
panel.status = “更多”
panel.width = 320;
panel.height = 240;
var tf:IUITextField = panel.mx_internal::getStatusTextField();
if(tf!=null){
tf.selectable=true;
tf.addEventListener(TextEvent.LINK, oneNewsTypeNewsShow);
tf.htmlText = “更多“;
}
July 23rd, 2008 at 1:19 pm
我的MSN :guangshegxu@hotmail.com
July 26th, 2008 at 12:11 am
//panel.status = “更多”
就可以了。