У меня есть класс, который расширяет FlowPanel. Я добавляю виджет DataGrid и виджет в виде грида:GWT FlowPanel не добавляет виджет
dataGrid.setWidth("100%");
dataGrid.setHeight("100%");
grid.setWidth("100%");
grid.setHeight("100%");
this.add(dataGrid);
this.add(grid);
this.setWidth("100%");
this.setHeight("100%");
Появляется только виджет DataGrid. Я пробовал переключение с FlowPanel на VerticalPanel и перенос Grid в FlowPanel без радости. Я попытался помещать DataGrid и Grid в 2 строки, 1 столбец Grid и ничего не отображал. Это GWT 2.6.0 на Safari.
Я подозреваю, что у меня есть непонимание того, что делают setHeight() и setWidth() в этом случае, но я не уверен. Есть ли способ увидеть, что GWT считает, что это делается с точки зрения макета?
Спасибо.
Спасибо, устанавливая каждую высоту до 50% сделали появляются как виджеты. Есть ли какой-либо путь в GWT, чтобы каркас выполнял работу? Я хочу, чтобы DataGrid занимал столько места, сколько нужно, чтобы отображать заголовки и 10 строк, и я хочу, чтобы Grid занимала столько места, сколько нужно, чтобы показать его содержимое. FlowPanel должен заказывать макет и занимать столько места, сколько необходимо для его содержимого. Установка процентов и подсчета пикселей кажется немного примитивной. – Patrick
См. Обновление к моему ответу. –
Я ценю код. Однако это волшебное значение 37 меня беспокоит. Я ожидаю, что GWT должен позаботиться о калибровке для меня. Я просто хочу добавить виджеты на панель и заставить их заняться всем необходимым пространством. Я думал, что FlowPanel будет делать именно это, но когда я не укажу высоту, все, что я вижу, это второй виджет, который я добавил (сетка в этом случае). Это говорит мне о том, что оно не соответствует 100%, что не имеет смысла. Нет ли способа сделать это без явного определения размера? – Patrick