请注意在此问题末尾提及替代方法的评论。
基于基于字典的规范,我的一个类以编程方式创建Form
。
将TextInput
或DatePicker
添加到FormItems
可正常工作。
不幸的是,以下代码只创建了一个彩色矩形,而不是实际的选择器:
ti = new ColorPicker();
ColorPicker( ti ).selectedColor = TAColor( _spec[ key ].value ).color;
以及稍后
formItem.addElement( ti );
表单嵌入在使用
显示的TitleWindow
组件中
PopUpManager.addPopUp(...);
当添加到TitleWindow时,它在Form-> FormItem中正确显示:
我无法成像,为什么选择器没有出现。你呢?
替代方法:
如果我将 ColorPicker包装在一个内的东西工作:
ti = new Group();
Group( ti ).addElement( new ColorPicker() );
在这种情况下,ColorPicker显示为可编辑。
但是,我很高兴知道我的初始解决方案存在什么问题。错误吗
答案 0 :(得分:1)
DateField(扩展ComboBase,如ColorPicker)在spark表单中表现正常。但是在ColorPicker中,按钮的鼠标按下处理程序永远不会被调用。我认为可能处理鼠标点击的皮肤部分(它必须是一个按钮)没有正确标注尺寸,结果是它没有显示。我得出了这个结论,因为在mx表单中,ColorPicker不会像添加到常规显示列表时那样显示...
希望这会有所帮助......
答案 1 :(得分:0)
在您提供的代码中,您永远不会将colorPicker作为子容器添加到任何父容器中;因此它永远不会出现在任何地方。
您可能需要执行以下操作:
formItem.addChild(ti );
[或Spark formItem]:
formItem.addElement(ti );
我很困惑你为什么看到一个矩形。