Как добавить TextItem в HLayout в Smartgwt 2.4? - PullRequest
3 голосов
/ 08 февраля 2012

Я хочу добавить TextItem компонент в HLayout в SmartGwt.Я просто хотел бы избежать добавления каждого компонента к 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 Ответ

4 голосов
/ 08 февраля 2012

Метод HLayout.addMember () принимает Widget или Canvas в качестве аргумента. TextItem расширяет FormItem, который не расширяет ни один из вышеперечисленных классов. Таким образом, невозможно достичь того, что говорится в вашем коде. Ваше единственное решение - добавить его через DynamicForm, используя метод setFields (). Если у вас есть несколько TextItems, вы можете просто вызвать что-то вроде следующего:

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

Если вы не хотите изменять значение textItem, вы всегда можете использовать Label или создать собственный виджет из более простых классов, чтобы получить внешний вид TextItem.

...