ColorPicker在表单中不可编辑 - >一个FormItem

时间:2011-10-16 19:41:24

标签: actionscript-3 flex actionscript flex4 flash-builder

请注意在此问题末尾提及替代方法的评论。

基于基于字典的规范,我的一个类以编程方式创建Form

TextInputDatePicker添加到FormItems可正常工作。

不幸的是,以下代码只创建了一个彩色矩形,而不是实际的选择器:

ti = new ColorPicker();

ColorPicker( ti ).selectedColor = TAColor( _spec[ key ].value ).color;

以及稍后

formItem.addElement( ti );

表单嵌入在使用

显示的TitleWindow组件中
PopUpManager.addPopUp(...);

当添加到TitleWindow时,它在Form-> FormItem中正确显示:

enter image description here

我无法成像,为什么选择器没有出现。你呢?

替代方法:

如果我将 ColorPicker包装在一个内的东西工作:

ti = new Group();
Group( ti ).addElement( new ColorPicker() );

在这种情况下,ColorPicker显示为可编辑。

但是,我很高兴知道我的初始解决方案存在什么问题。错误吗

2 个答案:

答案 0 :(得分:1)

DateField(扩展ComboBase,如ColorPicker)在spark表单中表现正常。但是在ColorPicker中,按钮的鼠标按下处理程序永远不会被调用。我认为可能处理鼠标点击的皮肤部分(它必须是一个按钮)没有正确标注尺寸,结果是它没有显示。我得出了这个结论,因为在mx表单中,ColorPicker不会像添加到常规显示列表时那样显示...

希望这会有所帮助......

答案 1 :(得分:0)

在您提供的代码中,您永远不会将colorPicker作为子容器添加到任何父容器中;因此它永远不会出现在任何地方。

您可能需要执行以下操作:

formItem.addChild(ti ); 

[或Spark formItem]:

formItem.addElement(ti ); 

我很困惑你为什么看到一个矩形。