我已经就这个主题做了很多研究,但我找不到任何帮助解决我的问题。我目前有100%as3应用程序。我想在我的舞台上添加一个spark组件,例如datagrid(因为使用mxml创建它更简单,更干净)。
FileName:MXMLPractice.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:DataGrid x="0" y="0" width="50" height="50"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="dataField1" headerText="ColumnName1"></s:GridColumn>
<s:GridColumn dataField="dataField2" headerText="ColumnName2"></s:GridColumn>
<s:GridColumn dataField="dataField3" headerText="ColumnName3"></s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
如何在as3代码中将此组件添加到舞台上? 鉴于我找到匹配答案的困难,我想我可能会尝试做一些不推荐的事情。如果是这种情况,请告诉我该怎么办?
到目前为止我的测试(编译但没有显示任何内容):
package
{
import flash.display.Sprite;
import mx.events.FlexEvent;
public class Main extends Sprite
{
private var practice:MXMLPractice;
public function Main()
{
practice = new MXMLPractice();
stage.addChild(practice);
}
}
}
答案 0 :(得分:1)
在纯AS3项目中,您应该使用AS3组件,它还将UIComponent扩展为flex组件,但是为纯as3项目设计。对于此任务,您将需要fl.controls
个包。您可以从Flash Professional的安装目录中复制/过去ui类:
c:\Program Files\Adobe\Adobe Flash CC\Common\Configuration\Component Source\ActionScript 3.0\User Interface\
下一步将从组件窗口CTRL+F7
答案 1 :(得分:1)
这真的很难。 如果你想使用Flex SDK中的一些简单类,比如ObjectUtil,只需将它复制到你的类中。它会正常工作,因为没有导入。 但是可视组件与许多其他类相关联。对于像grid这样的组件,你必须复制几十个类。他们每个人也有依赖关系等等。 可能最好修改Flash组件或找到开源解决方案。