Почему прокрутка обрабатывается с помощью обработчика, а изменение размера обрабатывается переопределенным методом в ScrollPanel? - PullRequest
0 голосов
/ 05 декабря 2011

Почему GWT разработан таким образом?В чем принципиальная разница между событиями изменения размера и прокрутки?

1 Ответ

4 голосов
/ 06 декабря 2011

Поскольку в браузерах нет события для изменения размера (изменение размера на уровне окна, но не на уровне элемента), в отличие от событий прокрутки.

Таким образом, изменение размера «уведомления» «эмулируется» в GWT: если вы используете RootLayoutPanel или ResizeLayoutPanel, оно будет прослушивать события изменения размера окна и распространять их вниз до своих RequiresResize дочерних элементов (что будет распространяться вниз, если они сами ProvidesResize виджеты).
Явное задание размера виджета ProvidesResize также уведомит его RequiresResize потомков; а также изменение размеров панели макета (программно для DockLayoutPanel и LayoutPanel - среди других - и / или выполнено пользователем для SplitLayoutPanel или StackLayoutPanel).

Вы заметите, что ScrollPanel является одновременно RequiresResize (родительский виджет ProvidesResize уведомит его о том, что его размер мог измениться) и ProvidesResize (уведомит свой дочерний виджет, если он RequiresResize). * * тысяча двадцать-один

...