Как в GWT щелкнуть и перетащить большое изображение, чтобы изменить просматриваемую часть?

В моем приложении GWT я использую Border Layout для отображения большого изображения на панели, которая добавляется в расположение Center.

Я хотел бы щелкнуть и перетащить изображение, чтобы изменить отображаемую часть изображения. Это было бы эквивалентно использованию полос прокрутки для перемещения части изображения, отображаемого на экране. Это похоже на то, как Adobe Reader позволяет вам перемещаться по PDF.

Как мне это сделать с помощью GWT?


person Keith Lyall    schedule 07.05.2009    source источник


Ответы (1)


В книге Дэвида Гири «Решения Google Web Toolkit» описывается реализация панели ViewPort, которая делает то, что вы описываете. По сути, вы создаете подкласс AbsolutePanel, который прослушивает события мыши. Основываясь на этих событиях мыши, вы должны выполнить свои вычисления перетаскивания и обновить положение содержащегося элемента (большое изображение в вашем случае).

Чтобы увидеть его в действии, перейдите на страницу http://coolandusefulgwt.com/ и нажмите "Примеры", затем "Карты". '. (Обратите внимание, что отсутствие прямой ссылки является хорошим примером того, почему правильная поддержка истории важна для приложений gwt).

person chris.f.jones    schedule 13.05.2009
comment
Спасибо за ответ, но исходный вопрос не был достаточно явным в описании точного сценария пользовательского интерфейса (сейчас он обновлен). Панель, содержащая изображение, будет иметь переменный размер, поскольку она находится в центре в макете границы, а не фиксированный размер, как в большинстве примеров Google Map, таких как перетаскивание и перемещение. - person Keith Lyall; 22.06.2009