0

动态添加组件时,萤火虫中显示“this.container is null”。

我有一个窗口,里面有一些组合框,比如combo1、combo2、combo3 和一个标签。根据 combo3 的选择值,“标签”字段被删除并替换为组合框或文本字段。我这样做是我的使用

form.items.removeAt(4);
form.items.insert(4, newItem); #here newItem can be combox/textfield
form.doLayout();

表单位于面板内。

执行上述行时。显示“this.container is null”并且组件无法在适当的位置插入/添加。

有什么建议么?

4

2 回答 2

0

您不应该修改基础项目集合。在容器上使用删除/插入方法。

于 2012-08-22T07:13:30.490 回答
0

尝试逐行注释这些行以查看哪一行会产生错误,例如

form.items.removeAt(4);
//form.items.insert(4, newItem); #here newItem can be combox/textfield
//form.doLayout();

form.items.removeAt(4);
form.items.insert(4, newItem); #here newItem can be combox/textfield
//form.doLayout();

form.items.removeAt(4);
form.items.insert(4, newItem); #here newItem can be combox/textfield
form.doLayout();

您的问题可能是因为在您尝试插入时尚未准备好插入/替换的对象。给我们您的 newItem 初始化代码。

更新

card 或者,您可以使用layout将更改的组件(标签、组合框、文本字段)包装在面板中。在更改combo3 时,只需card在该面板中选择exact。

于 2012-08-21T14:08:17.557 回答