Можно ли перебирать все элементы управления текстовыми полями, определенные в составном виджете? Как и мне, мне нужно извлечь значения всех текстовых полей, чтобы проверить, существуют ли они - текстовые поля должны иметь в себе некоторые данные.Gwt итерация текстовых элементов управления в Composite
Так что я надеялся иметь метод, как:
for(Widget w: this.getChildren)
{
//if widget is a textbox - check value
}
Composite класс не имеет метод, как GetChildren ни метод, где я могу получить элементы данного класса - или имя, и если я получаю все элементы, использующие NodeList, тогда мне нужно рекурсивно идти, пока не найду текстовое поле. Есть ли более подходящий способ сделать это?
Если вы используете HasWidgets - тогда было бы разумно добавить виджеты в Composite динамически и установить yes = true в UiFields ?.Otherewise, как бы пользовательский итератор знал о количестве добавленных виджетах, если определения есть в ui. xml-файлы? – Anna
Вам нужно будет запрограммировать итератор, чтобы узнать о виджетах. 'ComplexPanel' уже реализует' HasWidgets', поэтому, если вы создаете файлы ui.xml со списком виджетов в FlowPanel (или другой complexPanel), вы можете сделать что-то вроде (Widget child: flowPanel) {}; –