我想将TextItem
组件添加到SmartGwt中的HLayout
。
我只想避免将每个组件添加到DynamicForm
,然后添加到Layout
相反,我想直接将TextItem
添加到HLayout
。
public class Test4 implements EntryPoint {
DynamicForm dynamicForm = new DynamicForm();
TextItem textItem = new TextItem();
HLayout hLayout = new HLayout();
public void onModuleLoad() {
// dynamicForm.setFields(textItem);
hLayout.addMember(textItem);
hLayout.draw();
}
}
答案 0 :(得分:4)
HLayout.addMember()方法接受Widget或Canvas作为参数。 TextItem扩展了FormItem,它不会扩展任何上述类。因此,实现代码所声明的是不可能的。您唯一的解决方案是使用setFields()方法通过DynamicForm添加它。如果你有多个TextItems,你可以调用类似下面的内容:
dynamicForm.setFields(textItem1, textItem2, textItem3, ..., textItemN);
如果您不希望能够更改textItem的值,则可以始终使用Label或从更简单的类创建自定义窗口小部件,以实现TextItem的外观。