Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Flex3:是否可以使用远程图像作为链接按钮的图标?_Apache Flex_Flex3 - Fatal编程技术网

Apache flex Flex3:是否可以使用远程图像作为链接按钮的图标?

Apache flex Flex3:是否可以使用远程图像作为链接按钮的图标?,apache-flex,flex3,Apache Flex,Flex3,我们正在以编程方式创建一个LinkButton,并希望将其图标设置为从远程服务器检索到的图像,而不是SWF中嵌入的图像。.icon属性需要一个类,但我不知道如何从动态生成的URLRequest或URL字符串创建一个与@Embed等效的类 var myImage:Image = new Image(); myImage.source = "http://www.domain.com/img/1234.png"; myImage.width = 16; myImage.height = 16; my

我们正在以编程方式创建一个LinkButton,并希望将其图标设置为从远程服务器检索到的图像,而不是SWF中嵌入的图像。.icon属性需要一个类,但我不知道如何从动态生成的URLRequest或URL字符串创建一个与@Embed等效的类

var myImage:Image = new Image();
myImage.source = "http://www.domain.com/img/1234.png";
myImage.width = 16;
myImage.height = 16;
myImage.scaleContent = true;

var myButton:LinkButton = new LinkButton();
myButton.label = "Some text"

// This is what I'm trying to figure out.
myButton.setStyle("icon", ???)
我可能遗漏了一些明显的东西——我尝试分别传递URL和myImage,但都会抛出错误。进入setStyle方法表明代码需要一个类-那么我应该传递什么来代替

我不能嵌入图像本身,因为它是动态的——每次软件运行时,URL都是不同的


谢谢你的帮助

为什么不将mx:Image的buttonMode设置为true,然后添加一个click事件

<mx:Image source="{imageSource}" buttonMode="true" click="action()" />

我认为,与其尝试设置样式,不如更改保存图标的子对象。您可以通过以下方式访问它:

Var:Bitmap icon = myButton.getChildByName("upIcon") as Bitmap
用加载程序中的位图数据替换其中的位图数据应该很容易

<mx:Button id="example" label="Example" icon="{IconUtility.getClass(example, 'http://www.exampledomain.com/image.jpg')}" />

如果内存可用,您需要使用button.setStyle'icon',img,其中img是通过Loader类加载的图像。

对于laalto

这可能是一个太晚的答案,但有人可能会发现它有用或作为一个起点,以解决您的问题。您是否尝试将图像图标作为类引用?我不知道这是否适用于动态URL中的图像,但这适用于我:

[Embed("assets/LinkButton.png")]
private const linkButtonIcon:Class;
然后在代码中:

myButton.setStyle("icon", linkButtonIcon);
请参见以下示例:


正如我提到的,我们需要以编程方式创建按钮——它是基于特定状态制造UI组件的工厂模式的一部分。我不希望仅仅为了绑定映像而创建一个新的MXML组件——希望有一些简单的方法通过代码设置映像。但是谢谢-这是一个合理的建议,如果基于代码的解决方案不可行,我会尝试。克里斯,谢谢你的编辑。如果我们只需要图像,你是对的,这会很好。但我们希望有一个LinkButton来保持与UI上其他组件的一致外观,它需要包括图标、标签文本和鼠标在LinkButton开箱即用的交互——如果我们可以从URL填充图标……它是一个LinkButton,而不是一个按钮
myButton.setStyle("icon", linkButtonIcon);