Actionscript 3.0->如何从UIComponent覆盖受保护的方法
||
我想在ActionScript中创建自定义按钮。
这是我的代码:
import flash.events.MouseEvent;
import mx.controls.Alert;
import spark.components.Button;
public class BookViewButton extends Button
{
public function BookViewButton()
{
super();
}
override protected function mouseOver(event:MouseEvent,increase:int,newImageSource:String):void{
Alert.show(\"mouseOver for new class works\");
}
}
但是Adobe Flash Builder会将方法替代行作为错误信号发出。
我试图更改新的方法签名,使其与之完全匹配,如下所示:(我认为错误可能是因为我向mouseOver
函数添加了额外的参数,所以Flex可能不会将其识别为重写)
override protected function mouseOver(event:MouseEvent):void{
Alert.show(\"mouseOver for new class works\");
}
但是仍然不起作用。出现相同的小红色感叹号表示错误。
非常感谢您的帮助。谢谢。
没有找到相关结果
已邀请:
2 个回复
泉秘胁
层次结构中具有
方法,则使用什么SDK版本? 火花按钮具有
方法来覆盖:
而且最好张贴IDE给您的错误文本。要复制它,只需在Flash Builder中打开
视图,找到您的错误消息并通过上下文菜单将其复制。
藕挝
,因为基类
没有方法
可以覆盖。 如果删除了override关键字,它应该可以正常工作。就是说,您实际上需要为函数添加一个侦听器,以便将鼠标悬停在该侦听器上。像这样:
的信息 除非有要解析的参数,否则无需在扩展类的构造函数中调用super。例。
和扩展类:
如果这样做:
您将获得输出:
但是,如果您想要构造函数的参数,则需要将其解析为使用them17ѭ扩展的类的构造函数。像这样:
现在,这将输出\“ asdf \”: