首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MX:单击菜单项时导致错误的MenuBar

MX:单击菜单项时导致错误的MenuBar
EN

Stack Overflow用户
提问于 2011-11-08 20:54:27
回答 1查看 606关注 0票数 0

我观察到了flex的<mx:menubar>组件的异常行为,我从Adobe文档中找到的示例中创建了一个组件;当单击或鼠标移到调试flash播放器中的任何菜单项上时,都会收到错误。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" preloader="pre.CLoader"
       xmlns:s="library://ns.adobe.com/flex/spark" width="720"
       xmlns:mx="library://ns.adobe.com/flex/mx" height="540">
    <fx:Script source="main.as"/>
    <mx:MenuBar id="topMenu" labelField="@label" width="100%">
        <fx:XMLList>
            <menuitem label="Kommunicate">
                <menuitem label="Connect"/>
                <menuitem type="separator"/>
                <menuitem label="Login" enabled="false"/>
                <menuitem label="Register" enabled="false"/>
            </menuitem>
            // ...
        </fx:XMLList>
    </mx:MenuBar>
</s:Application>

点击Kommunicate时出现错误信息:

代码语言:javascript
复制
TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.controls::Menu/updateDisplayList()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\Menu.as:1393]
    at mx.controls.listClasses::ListBase/validateDisplayList()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\listClasses\ListBase.as:3963]
    at mx.managers::LayoutManager/validateDisplayList()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\LayoutManager.as:736]
    at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\LayoutManager.as:819]
    at mx.managers::LayoutManager/validateNow()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\LayoutManager.as:878]
    at mx.controls::Menu/show()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\Menu.as:1706]
    at mx.controls::MenuBar/showMenu()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\MenuBar.as:1832]
    at mx.controls::MenuBar/mouseDownHandler()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\MenuBar.as:2025]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\UIComponent.as:13128]
    at mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\SystemManager.as:2924]

是不是Adobe无法创建一个可用的框架?这不是我第一次在尝试开发和使用flex的应用程序时发现他们自己的代码中有一些不寻常的地方。早些时候,它使用的是他们的Graphite CSS主题之一,其中textareas的硬编码最大宽度和高度为20px……

EN

回答 1

Stack Overflow用户

发布于 2011-11-14 08:43:07

答: Flex4.5 / Flex4中包含的新主题很糟糕。(不是开玩笑。)

新的Halo/Spark主题导致了这个问题。当我恢复到Flex3 one时,它工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8050673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档