如何在Smartgwt 2.4中向Groayout添加TextItem?

时间:2012-02-08 15:44:22

标签: textbox smartgwt

我想将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();
    }
}

1 个答案:

答案 0 :(得分:4)

HLayout.addMember()方法接受Widget或Canvas作为参数。 TextItem扩展了FormItem,它不会扩展任何上述类。因此,实现代码所声明的是不可能的。您唯一的解决方案是使用setFields()方法通过DynamicForm添加它。如果你有多个TextItems,你可以调用类似下面的内容:

dynamicForm.setFields(textItem1, textItem2, textItem3, ..., textItemN);

如果您不希望能够更改textItem的值,则可以始终使用Label或从更简单的类创建自定义窗口小部件,以实现TextItem的外观。