问题标签 [flex3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
4379 浏览

apache-flex - Flash TextField HTML - 如何防止丢失图像的错误对话框?(错误 #2044:未处理的 IOErrorEvent:.text=错误 #2035:找不到 URL)

我正在使用 Flash TextField 控件在 Flash 演示文稿中显示一些 HTML 内容,以便在大型触摸屏信息亭上显示。不幸的是,如果显示的 HTML 内容中的任何图像标签指向不存在的图像,则会显示一个带有错误消息的对话框

我试图避免弹出该对话。通过加载器类加载内容的解决方案IOErrorEvent.IO_ERROR是 catch ,但我尝试在 TextField、舞台上、Main 和 loaderInfo 上进行监听,但无济于事。我已经尝试将整个东西包装在一个 try-catch 中,但这也不起作用。

这是我用来寻找解决方案的简化代码:

编辑:这是整个工作代码。

当然,对于动态内容等,您需要一个图像列表和一个生成处理程序的函数等。

0 投票
2 回答
1798 浏览

apache-flex - Flex 3 中的 virtual 关键字是否会导致性能下降?

正如标题所说的那样。虚拟关键字是否会导致性能下降?

0 投票
6 回答
3689 浏览

apache-flex - List 组件上的 itemRollOver 和 itemRollOut 事件的问题

我已经在 List 组件上设置了itemRollOveritemRollOut事件侦听器,但是每当我将鼠标滚动到列表项上时,同一个列表项的 over 和 out 事件都会依次触发。我的列表使用自定义 itemRenderer。

任何想法为什么会这样?Adobe 文档没有提供对此的深入了解(不足为奇......)。

0 投票
5 回答
4096 浏览

apache-flex - Flex/Actionscript 中的连接线(拖动时)

我有一个 mx:Canvas 元素,其中包含多个 mx:Panel 元素。我希望能够绘制一条连接两个这样的 mx:Panel 的线,这样当一个或两个 mx:Panel 被拖动时,该线继续连接两个 mx:Panel。这似乎是一件微不足道的事情,但我一直无法弄清楚。

实际上,这就是问题所在。

替代文字 http://img150.imageshack.us/img150/5656/ishot1eu3.jpg

由于更新仅在面板到达其最终位置时发生,所以一旦您开始拖动“B”面板,就会留下一条悬空线:

替代文字 http://img212.imageshack.us/img212/4296/ishot2qi6.jpg

如下所示,一个可能的解决方案是覆盖 mx:Canvas 组件的 updateDisplayList() 方法。不幸的是,这只会在拖动后更新绘图,而不是在运动时更新。在 Panel 中侦听“xChanged”和“yChanged”事件会产生与覆盖 updateDisplayList() 相同的结果。

如下所述,最终解决方案需要将移动事件从移动的 Panel 分派到它正在移动的 Canvas 上。这会迫使线条在整个运动中重新绘制。

感谢所有的帮助!

0 投票
4 回答
3854 浏览

flash - 使用 Adob​​e AIR 构建插件架构

我正在考虑选择 Adob​​e AIR 作为即将到来的项目的客户端实施技术。(之前的选择是 C# 和 WPF,但最近我对 Flash/Flex/AIR 印象深刻。)

但我的产品最重要的特性之一将是它的插件架构,它允许第三方开发人员以有趣的方式扩展功能和 GUI。

我知道如何在 C# 中设计架构:插件加载器将枚举本地“app/plugins/”目录中的所有程序集。对于每个程序集,它会枚举所有类,寻找“IPluginFactory”接口的实现。对于工厂创建的每个插件,我会询问它的 MVC 类,并将其 GUI 元素(菜单项、面板等)插入现有 GUI 布局中的适当插槽中。

我想在 AIR 中完成同样的事情(从本地文件系统加载插件,而不是从网络加载插件)。阅读本文后,我的理解是这是可能的,并且基本架构(将 SWF 加载到沙盒应用程序域等)与您在 .NET 中执行的方式非常相似。

但我对这些问题很好奇。

如果你们中的任何人使用 flash 播放器进行了任何动态类加载(最好在混合 flash/flex 应用程序中,特别是在 AIR 主机中),我很想听听您构建插件框架的经验以及遇到棘手情况的地方使用 flash 播放器,以及使用 flash、flex 和 AIR API。

例如,如果有人问我同样的问题,但考虑到 Java 平台,我肯定会提到 JVM 没有“模块”或“程序集”的概念。最高级别的聚合是“类”,因此很难在插件系统中创建组织结构来管理大型项目。我还将讨论多个类加载器的问题,以及每个类加载器如何维护自己的加载类的单独实例(具有自己的单独静态变量)。


以下是一些对我来说仍然没有答案的具体问题:

1) 动作脚本“Loader”类可以将 SWF 加载到 ApplicationDomain。但是那个 appdomain 到底包含什么?模块?上课?MXML 组件是如何表示的?如何找到所有实现我的插件接口的类?

2)如果您已将插件加载到与主应用程序不同的 ApplicationDomain 中,那么从该其他应用程序域中调用代码是否会更加复杂?对于可以通过跨应用程序域编组层的数据类型是否有任何重要限制?编组是不是非常昂贵?

3) 理想情况下,我想将我自己的大部分主代码开发为插件(主应用程序只不过是一个插件加载外壳),并使用插件架构将该功能提升到应用程序中。是不是让你心里产生了恐惧?

0 投票
5 回答
5960 浏览

keyboard-shortcuts - Adobe AIR 键盘挂钩

我正在尝试向我的 AIR 应用程序添加一项功能,即使应用程序已最小化,它也可以侦听(可配置的)全局键盘事件。例如:CTRL-ALT-SHIFT-F12 截取屏幕截图。

我找不到任何注册键盘钩子的方法,并且监听键盘事件仅在应用程序具有焦点时捕获它们。建议?

0 投票
8 回答
73412 浏览

actionscript-3 - 如何在 Actionscript 中获取对象的属性列表?

我有一个 dataprovider 和一个分配给我的 dataprovider 的数组的 filter 函数。

当数据提供者 (item.data) 传递给过滤器函数时,如何获取其每一行中的属性列表?

例如,如果我的对象包含:

  • 目的
    • 姓名
    • 电子邮件
    • 地址

然后我希望在我的过滤器功能中能够查看姓名、电子邮件和地址。不幸的是,我事先不知道这些属性是什么。

有任何想法吗?

0 投票
2 回答
1215 浏览

flex3 - flex 3和访问远程java对象

我刚开始学习 flex 并且试图了解 Flex 是如何进行远程处理的?根据我的阅读,Flex 提供了一个 LifeCycle 数据服务战争,它位于您的服务器上并拦截您的远程调用,这是否接近?

我担心如果我使用这个选项 1. 我必须向我的服务器添加额外的战争 - 生命周期数据服务战争和 2. 我必须为我在每个 cpu 上使用的每个实例支付许可证。

有没有更简单的 [免费] 选项,我可以使用它从我的 flex mxml 中调用我的远程 java 对象?

0 投票
2 回答
6042 浏览

apache-flex - 使 Flex 数据网格适合数据

我有几行文本数据,可以在 0 到 100 之间变化,并且一次都需要在屏幕上可见。默认行为适用于网格,直到行 * rowHeight > gridHeight。

基本上我需要一个挂钩到项目高度或行高来根据网格的高度计算它。我已将 paddingTop 和 paddingBottom 设置为零,但行之间仍有大量空白。

我的数据网格组件...

setRowHeight() 有帮助,但如果我将行高设置为 10,则单元格的 itemRender 比单元格大。

0 投票
3 回答
5266 浏览

apache-flex - Flex 3 - 在使用 AS3 时,我必须在设置其属性之前添加组件吗?

假设我有一个 Flex 3 mxml 组件,称之为 A。A 有一个名为“b”的 get/set 属性。在 AI 中还有另一个内部组件 C,它是使用 mxml 指定的。在 mxml 中“实例化”组件 A 时,我可以在声明时指定 b 的值,一切正常。但是,当我使用 Actionscript 初始化组件时,我必须先将组件添加到呈现的容器中,然后才能设置所述组件的属性(在本例中为“b”)。当属性“b”的设置器以某种方式访问​​ A 中的 C 时,就会发生这种情况。

所以,这在运行时失败(它说 C 是空的)......

另一方面,以下任何一项都可以

或者

如图所示,在将组件添加到容器后设置属性时,不会引发运行时错误消息。好的,这是有道理的,我想在组件被添加到容器之前,组件的内部结构并没有真正创建。不过,这有点烦人。有什么方法可以保证组件内部完全呈现而不将其添加到容器中?我不喜欢使用 actionscript 与 mxml 时的不同感觉。我想要一个解决方案,以便基本上在没有属性“参数”的 mxml 中声明 A 等同于在 AS 中使用 new 运算符声明 A。至少,就 A 的内部状态而言。